![]() |
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
|
![]() |
Cute dog · 如何将文本与重新排序的图像相匹配? 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
![]() |
Rohan Mittal · 按dict值对dict排序 2 年前 |
![]() |
Pikachu620 · 可以对事件列表进行排序吗? 2 年前 |
![]() |
Saif · 排序时python如何决定何时调用比较器? 2 年前 |
![]() |
tryingmybest09 · 设置出生日期排序不正确 2 年前 |