これを読んだ後、私はまだ混乱しています:
string s1 = "hello";
string s2 = "héllo";
ここでの違いはアクセント/文化です。
次のコードの結果はですFalse
。
Console.WriteLine(s1.Equals(s2, StringComparison.InvariantCulture));
しかし、私は不変の文化を使用しているので、éをeとして扱う必要があります(デフォルトは英語です、いいえ?)
ずっと使わないといけないようです
String.Compare(String, String, CultureInfo, CompareOptions)
お気に入り
string.Compare(s1, s2, CultureInfo.CurrentCulture, CompareOptions.IgnoreNonSpace) //true
しかし、私の現在の文化はhe-IL
そうなので、なぜそれが機能しているのかわかりません。
それで :
CompareOptions
使用したのにいつ動作しなかったのかわかりませんStringComparison.InvariantCulture
(msdnページを参照しないでください。すでに読んでいて説明がよくわかりません) 。簡単に言えば、各オーバーロードはいつ使用する必要がありますか?
ノンスペースの結合文字は文化的なものではありませんか?