本文摘自PHP中文网,作者零下一度,侵删。
去重和排序是开发过程中经常碰到的问题,这篇文章就来总结一下。
去重
方法1:使用内置的distinct
代码如下:
方法2:使用GroupBy
代码如下:
1 2 3 | .Select(p => p.First())
.ToList();
|
方法3:使用自己扩展的DistinctBy方法
代码如下:
完整代码请参考:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | {public int Id { get; set; }public string BunkCode { get; set; }public double BunkPrice { get; set; }
}
{
{new TestDistinctClass
{
Id= 1,
BunkCode= "A",
BunkPrice= 101},new TestDistinctClass
{
Id= 2,
BunkCode= "B",
BunkPrice= 102},new TestDistinctClass
{
Id= 3,
BunkCode= "C",
BunkPrice= 103},new TestDistinctClass
{
Id= 4,
BunkCode= "D",
BunkPrice= 104},new TestDistinctClass
{
Id= 5,
BunkCode= "A",
BunkPrice= 101}
};
.Select(p => p.First())
.ToList();
.ToList();
}
|
同时,我把扩展方法也贴出来:
1 2 3 4 5 6 7 8 | {
HashSet<TKey> seenKeys = new HashSet<TKey>();foreach (TSource element in source)
{if (seenKeys.Add(keySelector(element)))
{yield return element;
}
}
}
|
排序
至于排序,使用Linq提供的api就好了,如下图:

以上就是去重和排序如何操作的详细内容!
相关阅读 >>
无法排序,原因是 icomparer.compare() 方法返回不一致的结果。一个值与本身比较不相等,或者一个值与另外一个值重复比较生成不同的结果
aspx页面中点击表格的字段名实现升序降序排列的一些思路
asp.net mvc 遇到json循环调用的问题应该怎么解决?
去重和排序如何操作
总结.net平台上一些常用的框架
perl中如何对混合字符串进行排序?(代码示例)
更多相关阅读请进入《排序》频道 >>
清华大学出版社
作者:[美]克里斯琴·内格尔(Christian Nagel)著。出版时间:2019年3月。
转载请注明出处:木庄网络博客 » 去重和排序如何操作