如果我将其输入我的立即窗口
String.Compare("AA", "SA");
我得到1的结果
肯定这是错的? AA小于SA所以不应该是-1?我正在运行.NET 4
答案 0 :(得分: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