字符串比较错误



如果我在即时窗口中输入它

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

相关内容

  • 没有找到相关文章

最新更新