下面是我的代码,如何使if
返回true,因为它当前跳过if
语句,因为字符串值中有空格。
string instrucType = "FM";
string tenInstrucType = "FM ";
if (tenInstrucType.Equals(instrucType))
{
blLandlordContactNumberHeader.Visible = true;
lblLandlordContactNumber.Text = landlordData.LandlordContact.DefPhone;
lblLandlordEmailHeader.Visible = true;
lblLandlordEmail.Text = landlordData.LandlordContact.DefEmail;
}
答案 0 :(得分:4)
使用修剪功能:
if (tenInstrucType.Trim().Equals(instrucType.Trim()))
这只会从两端修剪。如果中间可能有空格,请使用替换。
答案 1 :(得分:1)
如果空格仅位于字符串的末尾,则修剪两个字符串:
if (tenInstrucType.Trim().Equals(instrucType.Trim()))
如果要忽略所有空格字符,可以从字符串中删除它们:
string normalized1 = Regex.Replace(tenInstrucType, @"\s", "");
string normalized2 = Regex.Replace(instrucType, @"\s", "");
if (normalized1 == normalized2) // note: you may use == and Equals(), as you like
{
// ....
}
答案 2 :(得分:0)
试试这个条件:
if (tenInstrucType.Replace(" ",string.Empty).Equals(instrucType.Replace(" ",string.Empty))
答案 3 :(得分:0)
修剪字符串:
if (tenInstrucType.Trim().Equals(instrucType.Trim()))
答案 4 :(得分:0)
if (tenInstrucType.Replace(" ","").Equals(instrucType.Replace(" ","")))
使用Trim
似乎适合这种情况,但请注意Trim
仅删除前导或结尾空格;内部空间不会被移除。