3

下面是我的代码,我怎样才能使if返回为真,因为它当前跳过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;
}
4

5 回答 5

4

使用修剪功能:

if (tenInstrucType.Trim().Equals(instrucType.Trim()))

不过,这只会从末端修剪。如果中间可能有空格,请使用替换。

于 2013-02-06T11:52:44.340 回答
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
{         
    // ....
}
于 2013-02-06T11:53:01.177 回答
0

试试这个条件:

if (tenInstrucType.Replace(" ",string.Empty).Equals(instrucType.Replace(" ",string.Empty))
于 2013-02-06T11:52:46.827 回答
0

修剪字符串:

if (tenInstrucType.Trim().Equals(instrucType.Trim()))
于 2013-02-06T11:53:02.837 回答
0
if (tenInstrucType.Replace(" ","").Equals(instrucType.Replace(" ","")))

usingTrim似乎适合这种情况,但请注意Trim仅删除前导或结尾空格;内部空间不会被删除。

于 2013-02-06T12:30:23.813 回答