C# 泛型集合排序一般通过sort方法,分别是:
1、List<T>.Sort(),只能在集合元素实现了IComparable泛型接口时使用
2、List<T>.Sort(Comparison<T>),Comparison<T>是一个方法委托,它带有2个参数T,返回int类型,可以灵活指定如何排序,但是需要编码时手动指定如何排序;
3、List<T>.Sort(IComparer<T>),使用实现了IComparer<T>接口的类给集合排序,可以灵活指定如何排序,但是需预先定义好类的排序方法
这里介绍第二种方法,主要是按照集合中的中文属性进行排序:
A:实体类如图
B:获取数据后直接调用sort方法,如下代码:
List<MrTypeVariable> mrTypeVariable = externalReferenceDAL.QueryMrTypeVariableListDAL(typeId);//这是获取数据
mrTypeVariable.Sort(delegate (MrTypeVariable x, MrTypeVariable y)//这是排序,通过sort方法的重载,对MrTypeVariable这个实体类的VariableName属性进行比较,然后进行排序,目前得出的结果会按照中文拼音首字母进行排序
{
return x.VariableName.CompareTo(y.VariableName);
});