简单实现Where内部原理
public static class WhereExtions
{
public static IEnumerable<T> LsWhere<T>(this IEnumerable<T> lists, Func<T, bool> func)
{
var list = new List<T>();
foreach (var item in lists)
{
if (func(item))
{
list.Add(item);
}
}
return list;
}
public static IEnumerable<T> LsWhere2<T>(this IEnumerable<T> lists, Func<T, bool> func)
{
foreach (var item in lists)
{
if (func(item))
yield return item;
}
}
}

浙公网安备 33010602011771号