相同的String不等于另一个

时间:2013-02-07 08:36:40

标签: c#

string s =@"­";
string r = HttpUtility.HtmlDecode(s);

string r3 = string.Format("1{0}Jan{0}2007",r);
Console.WriteLine(r3);
if(r3 == "1-Jan-2007")
{
    Console.WriteLine("Equal");
    Console.WriteLine("1-Jan-2007");
}
else
{
    Console.WriteLine("Not Equal");
    Console.WriteLine("1-Jan-2007");

}

输出

1-JAN-2007 不平等 1-JAN-2007

但当我用“ - ”替换r,即string.Format(“1 {0} Jan {0} 2007”,“ - ”); 输出

1-JAN-2007 等于 1-JAN-2007

2 个答案:

答案 0 :(得分:9)

­是Unicode字符'SOFT HYPHEN'(U + 00AD)。虽然它看起来非常类似于Unicode字符'HYPHEN-MINUS'(U + 002D),但这两个字符并不相同。

答案 1 :(得分:0)

试试这个:

if(r3.Equals("1-Jan-2007", StringComparison.InvariantCultureIgnoreCase))