c# 怎么对一个类对象进行排序?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 怎么对一个类对象进行排序?相关的知识,希望对你有一定的参考价值。

问题是这个样子的,我定义了一个类如下:
public class Node

public double len;
public int index;
public Node(double l, int i)

this.len = l;
this.index = i;



我将一些Node类型的对象Add到一个List中去,
List<Node> dist=new List<Node> ();
dist.Add(new Node(1.2,0));
dist.Add(new Node(0.3,1));
dist.Add(new Node(0.25,2));
然后我想对,dist进行排序,我想按照Node中len的降序排序,请问该如何编写代码?
在C++中可以这样搞定:
public bool operator <(Node le, Node ri)

return le.len < ri.len;

C#中好像不行。

不好意思,说错了,我是想升序排序。

参考技术A dist.sort(n=>n.len)这是升序的,自己找降序的方法,名字不同而以,LinQ已经封装好了! 参考技术B 引用
using System.Linq;
linq操作集合很方便的
例如:
contactsList = contactsList.OrderByDescending(i=>i.EndTime).ToList();\\降序
或者
contactsList = contactsList.OrderBy(i=>i.EndTime).ToList();\\升序

contactsList:为对象list
EndTime:为要排序的字段本回答被提问者采纳
参考技术C Sort()方法

在c#中,如何实现对一个列表数据List,进行降序排序

参考技术A System.Collections.Generic.List<int> ints = new List<int>();
ints.Sort();// 排序
ints.Reverse();// 反转顺序
参考技术B DataTable有个DefaultView.Sort属性,
比如 datatable.DefaultView.Sort="datatime(datatable中的字段) ASC";
追问

List的又一个对象有一个orderby的方法吧,用这个方法怎么实现排序呢?

以上是关于c# 怎么对一个类对象进行排序?的主要内容,如果未能解决你的问题,请参考以下文章

使用插入排序算法按字母顺序排序 c#

如何对抽象类对象进行排序

怎样在java代码里获取一个json对象,然后对其进行排序,排好了之后,再返回给json?

Python入门题045:根据对象属性进行排序

c# Dictionary 字典的排序问题,请大家指点

C#自学总结_Day2