【发布时间】:2016-08-11 12:01:42
【问题描述】:
我想知道 Linq 的 OrderBy 方法根据哪个规则决定如何对字符列表进行排序。我认为它在 Ascii 表中的值的帮助下将字符相互比较,但我自己尝试了一下,结果不正确。那么有人知道排序是根据哪个规则完成的吗?
编辑:
string[] letters = { " ", "!", "+", "1", "9", "?", "A", "B", "Y", "Z", "[", "a", "b", "y", "z", "{"};
IEnumerable<string> ascending = letters.OrderBy(x => x);
// returns { " ", "!", "?", "[", "{", "+", "1", "9", "a", "A", "b", "B", "y", "Y", "z", "Z"}
我很早就收到了相同的清单,但我收到了一份全新的订单。
解决方案: 我使用了字符串数组而不是 char 数组,因此 OrderBy 对字符串进行了排序,这与使用 chars 时不同。
【问题讨论】:
-
你能添加你的例子和你的期望吗?
-
你能把屏幕亮度调高一点吗?看到你已经尝试过的代码有点困难......
-
@GeoffJames 但是......我想如果你把亮度调高,昏暗的问题就会消失...... :)
-
哈哈。非常聪明的@Noctis :) 毕竟,这可能不是一个坏主意 - 在这种情况下