我有一个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

posted on 2010-05-27 19:36  秋波渡  阅读(279)  评论(0编辑  收藏  举报