c#List能按照List中的对象某个属性排序吗

如题所述

可以。
List 有个 Sort 方法,支持一个比较器接口作为参数。
接口只有一个方法,这个方法有两个参数,返回值是一个 int 类型的值。如果返回值小于 0 表示排在前面。
你实现这个接口就好了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-01-03
可以实现的,待会给你示例代码!

C#list<>根据对象的某个属性排序
为了根据对象的某个属性对C#中的`List>`进行排序,您需要实现`IComparer`接口,并重写`Compare`方法。以下是一个示例,展示了如何按照对象的属性进行降序排序。1. 首先,定义一个排序接口规则。例如,如果您想根据`DataRow`的`id`属性降序排序:```csharp public class ListComparerByIdDesc : ICompare...

C# list<>根据对象的某个属性排序
原则是必须继承IComparer<T>接口,实现int IComparer<T>.Compare(T t1, T t2)方法 例如:假定我们要把一个row列的id按照降序排列(升序以此类推).1. 先写好排序接口规则:public class ListComparerByIdDesc : IComparer<DataRow> { #region IComparer< DataRow > Members public int Co...

c# 在遍历list时如何按照list里的 某个字段排序?
首先要知道往List里面添加数据的对象类型,假设为Project类型这样写Project myproject = 你要判断的数据;bool listHasMyproject = false;foreach(var item in list.Items){Project proj = (Project)item;if(proj.equals(myProject))\/\/判断是不是等于你的数据,需要重写equals方法,当然你也可以跟据名字判...

在c#中List<>的orderby方法如何使用?如何对一个类别的数据按照其某个...
根据键按升序对序列的元素排序。class Pet { public string Name { get; set; } public int Age { get; set; } } public static void OrderByEx1(){ Pet[] pets = { new Pet { Name="Barley", Age=8 },new Pet { Name="Boots", Age=4 },new Pet { Name="Whiskers", Age=1 ...

集合类的sort方法采用的什么排序算法
需要编写一个对象排序比较的方法,对List中的元素对象没有特殊的要求,但在比较方法中需要实现对象比较规则,这个方法实现后,就可以把这方名字作为参 数委托给List的Sort方法,Sort方法在排序时会执行这个方法对List中的对象进行比较 【解析:】第四种方法 4,带有比较器参数,可以指定排序范围的Sort方法-...

C# List Sort 排序用法总结
然后再按照Name进行排序。如果不想修改类,或者只是偶尔需要排序,可以使用匿名函数来实现Comparison。通过委托和lambda表达式,可以实现快速、简便的排序操作,无需修改类代码。总之,C#中的List排序功能提供了多种灵活的排序方式,无论是升序、降序,还是多权重排序,甚至是偶尔的排序需求,都能轻松应对。

...> list=new list<String>(); 请问list中的元素是有序还是无序的...
List 集合是有序的,并且是自动排序,一般情况下按照加进去的元素时间来排序,先加的序号就更小,从下标为 0 开始,当你删除了其中一个元素的时候,会自动在排序一次,例如你原本有100个元素,你可以访问下标为99的元素,当你删除任意一个时,访问下标 99 元素的时候会有错误,所以证明 List 是可以...

C# 中的List.Sort()--集合排序方法全面解析
在C#编程中,List.Sort()函数提供了多种灵活性,让你能够轻松对不同类型的数据进行排序。这个方法不仅支持默认的单一规则排序,还允许你通过自定义实现4种排序策略。以下是这些策略的概述:1. **继承IComparable接口**:如果你的类(如People类)包含多个属性,如Name和Age,你可以让类继承IComparable...

c# list<user> list中有重复的数据,去掉重复的数据,或删掉重复的...
如果已经有重复的数据在list里面了,可以先根据某个属性进行排序,然后再从头开始逐个对比数据,有重复的就remove掉。我不晓得list有没有自带的去重复函数,可以去研究下。另外,在将数据加入到list的时候,可以先对list进行查找,看是否当前添加的数据存在否,如果存在,则不进行添加,不存在才加到list ...

C# IList 怎么根据参数排序 比如 string sidx(排序参数),string sord...
List<Student> items = GetStudents().OrderBy(u => u.Name).ToList();意思是使用Student实体的Name属性正向排序,这是linq+lambda的做法,也是微软推荐的。

相似回答
大家正在搜