首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么这个OrderBy没有抛出错误?

为什么这个OrderBy没有抛出错误?
EN

Stack Overflow用户
提问于 2012-08-05 07:51:31
回答 5查看 145关注 0票数 1

我有一张我想要订购的号码清单。

代码语言:javascript
复制
List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };

如果我这样做了,它工作得很好。

代码语言:javascript
复制
.OrderBy(n => n)

只是为了好玩,我试过了

代码语言:javascript
复制
.OrderBy(n => "ASC")

它不工作,但它没有抛出错误。如果我将鼠标悬停在OrderBy上,智能感知就会显示出来,

代码语言:javascript
复制
IOrderedEnumerable<int> IEnumerable<int>.OrderBy<int,string>(Func<int,string> keySelector)

只是好奇,为什么呢?

谢谢。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-08-05 07:59:18

它不会抛出错误。您告诉它使用"ASC"进行比较,它就是这么做的。

票数 4
EN

Stack Overflow用户

发布于 2012-08-05 08:01:58

此方法使用默认比较器比较键。每个元素的关键字是"ASC“。不是违法的。

票数 1
EN

Stack Overflow用户

发布于 2012-08-05 08:16:27

正如其他人所指出的,这是因为这是完全合法的。你也可以这样做:

代码语言:javascript
复制
 Enumerable.Range(0,20).OrderBy(x=>x.ToString());

你会得到整数的排序...按字母顺序排列。

代码语言:javascript
复制
0
1
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11812881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档