List中的泛型委托

时间:2023-03-09 20:12:05
List<string>中的泛型委托

我们先看List<T>.Sort()。其定义是:public void Sort( Comparison<T> comparison )

其要求传入的参数是Comparison<T> comparison。那我们看看Comparison<T> comparison 要求我们传入哪些参数、返回什么样的值。

查阅MSDN后,我们发现Comparison<T> 要求我们传入两个T的示例,即t1和t2;返回结果是整数,如果t1<t2返回-1,如果相等返回-,如果t1>t2返回

示例:

listVideoItems.Sort(delegate(VideoItem v1, VideoItem  v2) { return Comparer<string>.Default.Compare(v1.Title, v2.Title); });

VideoItem video= listVideoItems.Find(delegate(VideoItem v) { return v.Title== "xxxxx"; })

bool flag= listVideoItems.Exists(delegate(VideoItem v) { return v.Minutes > 25 ;})

list.Sort(delegate(tt small, tt big) { return small.id - big.id; });