C# 检查变量是否包含一些字符串

C# 检查变量是否包含一些字符串,c#,asp.net-mvc,linq,C#,Asp.net Mvc,Linq,我有这段代码 if ( x.str_NombreVariable == "User::v_sRutaArchivo") x.str_ValorVariable += str_Archivo; else if ( x.str_NombreVariable == "User::v_IdBitacoraCarga") x.str_ValorVaria

我有这段代码

 if ( x.str_NombreVariable == "User::v_sRutaArchivo")
                            x.str_ValorVariable += str_Archivo;
                        else if ( x.str_NombreVariable == "User::v_IdBitacoraCarga")
                        x.str_ValorVariable = _Bcarga.IdBitacoraCarga.ToString(); 
如您所见,我做了一些比较:
x.str_NombreVariable==“User::v_srutaarcivo”
或x.str_NombreVariable==“User::v_IdBitacoraCarga”

问题是我在
x.str_NombreVariable
中有值,但没有
“用户::”
,并且它与比较不匹配。所以我试着做一些类似的事情:

"User::"+x.str_NombreVariable == "User::v_sRutaArchivo"
问题是一些
x.str\u NombreVariable
默认带有“User::”这样我得到:

User::User::NombreVariable 
这是错误的,我只需要User::NombreVariable

所以换句话说:我如何检查
x.str_NombreVariable
是否不包含“User::”添加它,如果它已经添加,则不执行任何操作?有可能吗?问候

if ("User::v_sRutaArchivo".Contains(x.str_NombreVariable))

此条件在任何情况下都适用。

只需检查字符串是否以User::开头,如果没有添加:

if (!x.str_NombreVariable.StartsWith("User::"))
    x.str_NombreVariable = "User::" + x.str_NombreVariable;
把这个代码放在你的代码上面,你应该是个好人


编辑:我只是添加了缺少的“)”

另一个解决方案是从变量和硬编码字符串中删除“User::”部分:

var nombreVar = x.str_NombreVariable.Replace("User::", "");
if ( nombreVar == "v_sRutaArchivo")
    x.str_ValorVariable += str_Archivo;
else if ( nombreVar == "v_IdBitacoraCarga")
    x.str_ValorVariable = _Bcarga.IdBitacoraCarga.ToString(); 

但是如果添加字符串“User::”如果它没有?如果没有,我想添加它这段代码即使不修改变量的值也能工作。如果您需要添加“User::”即使在成功比较了这些值之后,也要查看@Timo的答案。