c# - LINQ OrderBy 排序不正确

标签 c# linq

我希望有人能在这里证明我错了:)

如果我这样做:

List<string> a = new List<string> { "b", "c", "a", "aa" };
var b = a.OrderBy(o => o).ToList();

我希望“b”的结果是:

a
aa
b
c

相反,我得到的结果是:

a
b
c
aa

如何让 OrderBy 进行“正确的”字母排序? 我完全错了吗? :)

最佳答案

丹麦文化将 aa 视为 å 并将其相应地放在 ø 之后。您可以传递一个与 OrderBy 行为不同的字符串比较器来改变它:

var b = a.OrderBy(o => o, StringComparer.InvariantCulture).ToList();

关于c# - LINQ OrderBy 排序不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48700350/

相关文章:

c# - 如何旋转可编辑网格的行?

c# - 使用 Linq 将 IEnumerable<KeyValuePair<string,string>> 值连接成字符串

LINQ 按问题分组

c# - ReSharper WPF错误: “Cannot resolve symbol ” MyVariable“due to unknown DataContext”

c# - DMZ 防火墙后的 WCF 服务的用户名和密码身份验证

C# 关闭时最小化到系统托盘

c# - 如何将 C# Linq 转换为 Vb.net

通过 IEnumerable(Of IListBlobItem) 的 Azure blob 进行 LINQ 查询

c# - 为什么找不到我的 ResourceDictionary xaml 文件?

c# - API设计中如何避免 "too many parameters"问题?