如果我在我的即时窗口中输入这个
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
关于c# - 字符串比较错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12620476/