これをイミディエイト ウィンドウに入力すると
String.Compare("AA", "SA");
1の結果が得られます
確かにこれは間違っていますか?AA は SA よりも小さいので、-1 であるべきではありませんか?
私は.NET 4を実行しています
これをイミディエイト ウィンドウに入力すると
String.Compare("AA", "SA");
1の結果が得られます
確かにこれは間違っていますか?AA は SA よりも小さいので、-1 であるべきではありませんか?
私は.NET 4を実行しています
デンマークの文化では、「AA」は 1 文字の「Å」として扱われ、アルファベット順では「Z」の後に来ます。
CultureInfo cultureInfo = CultureInfo.GetCultureInfo("da-DK");
int comparision = String.Compare("AA", "SA", false, cultureInfo);
Console.WriteLine(comparision);
結果:
1
必要な結果を得るには、インバリアント カルチャ (または、必要な並べ替え順序を持つ特定のカルチャ) を使用できます。
CultureInfo cultureInfo = CultureInfo.InvariantCulture;
int comparision = String.Compare("AA", "SA", false, cultureInfo);
Console.WriteLine(comparision);
結果:
-1