我有一个User类,有很多属性,其中
public int ID
{
set { this._ID = value; }
get { return this._ID; }
}
在新定义的List
List<User> userList = new List<User>();
我需要按照ID排序,因此我通过实现IComparable接口
#region IComparable 成员
public int CompareTo(object obj)
{
//throw new Exception("The method or operation is not implemented.");
User user = (User)obj;
return this._ID.CompareTo(user._ID);
}
#endregion
今天知道有更优雅的方法:
userList.Sort(delegate(User a, User b)
{
return a._ID.CompareTo(b._ID);
}
);
既然所用的类型都包含CompareTo,何苦再为整个类去实现这个接口呢。
如果使用Lambda表达式:
List.Sort((a,b)=>a.CompareTo(b));
参考链接:http://www.cnblogs.com/idior/archive/2005/09/18/239342.html
http://msdn.microsoft.com/zh-cn/library/tfakywbh%28v=VS.80%29.aspx