C# list<>根据对象的某个属性排序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# list<>根据对象的某个属性排序相关的知识,希望对你有一定的参考价值。
C# list<>根据对象的某个属性排序
参考技术A 原则是必须继承IComparer<T>接口,实现int IComparer<T>.Compare(T t1, T t2)方法例如:假定我们要把一个row列的id按照降序排列(升序以此类推).1. 先写好排序接口规则:public class ListComparerByIdDesc : IComparer<DataRow> #region IComparer< DataRow > Members public int Compare(DataRow x, DataRow y) return y[0].ToString().CompareTo(x[0].ToString()); #endregion 2. List<ListRow> list=new List<ListRow>(); //对列id名进行降序排序。list.sort(ListComparerByIdDesc ());
3. 关于CompareTo方法,如果a.CompareTo(b)若a<b 则返回-1;a=b则返回0;a>b则返回1; 参考技术B C#针对List类型以及其他集合的查询的数据操作是非常完善的,对于List对象的属性进行排序也没问题。给你两个例子做参考。 参考技术C List.OrderBy(object => object.Property) 参考技术D 先定义比较方法
http://msdn.microsoft.com/zh-cn/library/234b841s(v=vs.80).aspx
C#利用反射来判断对象是否包含某个属性的实现方法
本文实例展示了C#利用反射来判断对象是否包含某个属性的实现方法,对于C#程序设计人员来说有一定的学习借鉴价值。
具体实现代码如下:
/// <summary> /// 利用反射来判断对象是否包含某个属性 /// </summary> /// <param name="instance">object</param> /// <param name="propertyName">需要判断的属性</param> /// <returns>是否包含</returns> public static bool ContainProperty(this object instance, string propertyName) { if (instance != null && !string.IsNullOrEmpty(propertyName)) { PropertyInfo _findedPropertyInfo = instance.GetType().GetProperty(propertyName); return (_findedPropertyInfo != null); } return false; }
代码使用方法如下:
bool cc = _person.ContainProperty("cc"); bool aa = _person.ContainProperty("Age");
希望本文所述实例能够对大家有所帮助!
除声明外,跑步客文章均为原创,转载请以链接形式标明本文地址
C#利用反射来判断对象是否包含某个属性的实现方法
本文地址: http://www.paobuke.com/develop/c-develop/pbk23647.html
C#利用反射来判断对象是否包含某个属性的实现方法
本文地址: http://www.paobuke.com/develop/c-develop/pbk23647.html
相关内容
C# winform实现右下角弹出窗口结果的方法
C#计算2个字符串的相似度
C#实现将HTML转换成纯文本的方法
C#实现TCP连接信息统计的方法
C#手工双缓冲技术用法实例分析
C#编写的Base64加密和解密类
C#处理Json字符串实例分析
C#设置窗体最大化且不遮挡任务栏的方法
以上是关于C# list<>根据对象的某个属性排序的主要内容,如果未能解决你的问题,请参考以下文章
C# 如何判断 List<T> 中包含某个属性的对象? 就是说,List<Person> 中如何判