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的答案。