我有一张我想要订购的号码清单。
List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };如果我这样做了,它工作得很好。
.OrderBy(n => n)只是为了好玩,我试过了
.OrderBy(n => "ASC")它不工作,但它没有抛出错误。如果我将鼠标悬停在OrderBy上,智能感知就会显示出来,
IOrderedEnumerable<int> IEnumerable<int>.OrderBy<int,string>(Func<int,string> keySelector)只是好奇,为什么呢?
谢谢。
发布于 2012-08-05 07:59:18
它不会抛出错误。您告诉它使用"ASC"进行比较,它就是这么做的。
发布于 2012-08-05 08:01:58
此方法使用默认比较器比较键。每个元素的关键字是"ASC“。不是违法的。
发布于 2012-08-05 08:16:27
正如其他人所指出的,这是因为这是完全合法的。你也可以这样做:
Enumerable.Range(0,20).OrderBy(x=>x.ToString());你会得到整数的排序...按字母顺序排列。
0
1
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9https://stackoverflow.com/questions/11812881
复制相似问题