c# 怎么对一个类对象进行排序?
问题是这个样子的,我定义了一个类如下:publicclassNode{publicdoublelen;publicintindex;publicNode(doublel,...
问题是这个样子的,我定义了一个类如下:
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#中好像不行。
不好意思,说错了,我是想升序排序。 展开
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#中好像不行。
不好意思,说错了,我是想升序排序。 展开
3个回答
展开全部
dist.sort(n=>n.len)这是升序的,自己找降序的方法,名字不同而以,LinQ已经封装好了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2017-11-24
展开全部
引用
using System.Linq;
linq操作集合很方便的
例如:
contactsList = contactsList.OrderByDescending(i=>i.EndTime).ToList();\\降序
或者
contactsList = contactsList.OrderBy(i=>i.EndTime).ToList();\\升序
contactsList:为对象list
EndTime:为要排序的字段
using System.Linq;
linq操作集合很方便的
例如:
contactsList = contactsList.OrderByDescending(i=>i.EndTime).ToList();\\降序
或者
contactsList = contactsList.OrderBy(i=>i.EndTime).ToList();\\升序
contactsList:为对象list
EndTime:为要排序的字段
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Sort()方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询