我在排序瑞典字符串时遇到问题。
我在使用以下字符时遇到问题:v、w、å、ä、ö。
new[] { "ö", "ä", "å", "wa", "va", "wb", "vb", "a" }
.OrderBy(x => x, new CultureInfo("sv-SE").CompareInfo.GetStringComparer(CompareOptions.None))
Run Code Online (Sandbox Code Playgroud)
预期:a、va、vb、wa、wb、å、ä、ö
实际:a、va、wa、vb、wb、å、ä、ö
是否有任何选项可以使其按预期对字符串进行排序?
作为解决方法,我已切换到区域性 se-SE (Sami),以便在等待 .NET 排序规则更新时正确排序字母字符串。
更新:
这是 github 问题: https ://github.com/dotnet/corefx/issues/37753
更新2:
问题不在于 .NET,而在于底层操作系统中定义的排序规则。此错误仅出现在 Windows 上。