2013-02-07 381 views
0
string s [email protected]"­"; 
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一月2007 不等於 1一月2007

,但是當我更換R「 - 」,即字符串。格式( 「1 {0}揚{0} 2007」, 「 - 」); 輸出是

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

+0

String.Compare(r3,「1-Jan-2007」)的結果是什麼? – Jobo

+0

請使用'equals' – ogzd

+2

@ogzd確實需要在java中使用.Equals(),但在C#中使用==完全沒問題。 – Destrictor

回答

9

­是Unicode字符 '軟HYPHEN'(U + 00AD)。雖然它看起來與Unicode字符'HYPHEN-MINUS'(U + 002D)非常相似,但這兩個字符並不相同。

+0

那麼我需要將SOFT HYPHEN轉換爲HYPHEN-MINUS – Haider

0

嘗試這種情況:

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