如何向IList添加"查找"功能

Rel*_*ity 4 c# ilist list find

我从业务层返回IList.但在viewmodel中我必须使用Find函数.一种方法是将IList转换为List.

但无论如何都要向IList添加"查找"方法

小智 7

好吧,有Linq扩展方法.Where(为了fecth所有匹配)和.FirstOrDefault(获取第一个匹配)或者您可以编写自己的扩展方法对IList如:

public static class IListExtensions
{
    public static T FindFirst<T>(this IList<T> source, Func<T, bool> condition)
    {
        foreach(T item in source)
            if(condition(item))
                return item;
        return default(T);
    }
}
Run Code Online (Sandbox Code Playgroud)