3

如果我在我的即时窗口中输入这个

String.Compare("AA", "SA");

我得到一个结果 1

这肯定是错的吗?AA 小于 SA,所以它不应该是 -1 吗?

我正在运行 .NET 4

4

1 回答 1

7

在丹麦文化中,“AA”被视为单个字母“Å”,按字母顺序排在“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
于 2012-09-27T11:38:33.243 回答