|
|
1
1974
我能想到的最简单的方法是使用Linq:
|
|
|
2
904
如果需要对列表进行排序,那么可以使用
|
|
|
3
230
如果你在.Net3.0上,那么LukeH answer 要对多个属性进行排序,仍然可以在委托中进行排序。例如:
日期 降序
|
|
4
121
排序列表的最简单方法是使用
如果您想按多个列排序,如下面的SQL查询。
要实现这一点,您可以使用
|
|
|
5
34
没有Linq的情况下,就像你说的:
然后只需在订单列表中调用.sort() |
|
|
6
28
经典的面向对象解决方案
这个默认的可排序性当然是可重用的。也就是说,每个客户机不必冗余地重新编写排序逻辑。交换“1”和“-1”(或逻辑运算符,由您选择)将反转排序顺序。 |
|
|
7
18
//用于gridview的完全通用排序
|
|
|
8
7
下面是一个通用的LINQ扩展方法,它不会创建列表的额外副本:
要使用它:
我最近建立了这个额外的一个接受
|
|
|
9
5
|
|
|
10
4
|
|
|
11
4
请让我通过@LukeH和一些示例代码来完成答案,因为我已经测试了它,我相信它可能对某些人有用:
|
|
|
12
3
罗杰版本的改进版。
例子: “Employee.Company.Name;”会崩溃。。。因为只允许“Name”作为参数来获取其值。 这是一个改进的版本,允许我们按导航属性排序。
|
|
|
13
3
将函数编写为泛型函数:
然后像这样使用:
这是一种愚蠢的、不必要的、复杂的方式来执行LINQ样式的“OrderBy”, 但它可能会给你一个线索,告诉你如何以一种通用的方式实现它 |
|
|
14
3
|
|
15
1
利用LiNQ
|
|
|
16
1
基于
的比较器:
MyOrderingClass类
明确地(而不是
)
|
|
|
17
1
以上答案对我来说都不够笼统,所以我做了这个:
不过,在海量数据集上要小心。这是一个简单的代码,但如果集合很大,并且集合的对象类型有大量字段,则可能会给您带来麻烦。 运行时间为NxM,其中: N=集合中元素的# M=对象中属性的# |
|
18
1
任何使用可空类型的人,
|
|
|
19
1
因此,您可以通过使用组合委托来实现排序结构。 |
|
|
20
0
从性能的角度来看,最好的方法是使用排序列表,以便在将数据添加到结果时对其进行排序。 查看System.Collections.Generic命名空间,然后选择一个具有排序而不是列表的类。 尽可能避免使用反射的泛型实现,这也会导致性能问题。 |
|
|
21
0
如果您想排序这个序列的列表“1”“10”“100”“200”“2”“20”“3”“30”“300”,并得到这个表单中的排序项1;2;三;10;20;30;100;200;300您可以使用:
您可以在以下表单的代码隐藏中使用它:
|
|
|
22
0
|