MSDN によると : StringComparison.InvariantCulture
:
String.Compare および String.Equals メソッドの特定のオーバーロードで使用されるカルチャ、大文字と小文字、並べ替えの規則を指定します。
ええと、私はここのサンプルでソートを行っていませんが、なぜ結果が得られるのかまだ理解できません:
/*1*/ void Main()
/*2*/ {
/*3*/ string s1 = "lasst";
/*4*/ string s2 = "laßt";
/*5*/ Console.WriteLine (s1.Equals(s2, StringComparison.InvariantCulture));
/*6*/ //True
/*7*/
/*8*/
/*9*/
/*10*/ string s3 = "hello";
/*11*/ string s4 = "héllo";
/*12*/ Console.WriteLine (s3.Equals(s4, StringComparison.InvariantCulture));
/*13*/ //False
/*14*/ }
InvariantCulture
英語に基づく比較規則を使用しますが、地域的な違いはありません
1) では、なぜが にlasst
等しいと言っているのlaßt
ですか? (英語の文字すらありません...)
2) そして、なぜ (英語にフラット化されている場合)hello
は に等しくないのhéllo
ですか?