// ling 原理(匿名委托) 委托+迭代器
public static class ExtendMethord
{
ummary>
/// 带一个参数的扩展泛型方法
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="t"></param>
/// <param name="str"></param>
public static IEnumerable<T> ElevenWhere<T>(this IEnumerable<T> souce , Func<T,bool> func)
{
foreach (var item in souce)
{
if (func.Invoke(item))
{
yield return item;
}
}
}
}
调用方式:
List<Sudent> sudents = new List<Sudent>();
sudents.ElevenWhere<Sudent>(s=> {
return s.Age < 10;
});