如果我在我的即时窗口中输入这个
String.Compare("AA", "SA");
我得到一个结果 1
这肯定是错的吗?AA 小于 SA,所以它不应该是 -1 吗?
我正在运行 .NET 4
如果我在我的即时窗口中输入这个
String.Compare("AA", "SA");
我得到一个结果 1
这肯定是错的吗?AA 小于 SA,所以它不应该是 -1 吗?
我正在运行 .NET 4
在丹麦文化中,“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