

public class LambdaExpressions
{
public int ID { get; set; }
public string Name { get; set; }
public void LambdaExpressionsTest()
{
List<LambdaExpressions> list = new List<LambdaExpressions>
{
new LambdaExpressions { ID = 1, Name = "webabcd" },
new LambdaExpressions { ID = 2, Name = "webabcdefg" },
new LambdaExpressions { ID = 3, Name = "webabcdefghijklmn" }
};
IEnumerable<LambdaExpressions> l = list.Where(le => le.Name == "webabcd");
// 上面的(Lambda表达式)等同于下面的(匿名方法)
// IEnumerable<LambdaExpressions> l2 = list.Where(delegate(LambdaExpressions le) { return le.Name == "webabcd"; });
// 相关委托
// public delegate TResult Func<T, TResult>(T arg);
// 相关Where扩展方法
// Func<TSource, bool>:接受一个类型为TSource的参数
// Func<TSource, bool>:某个需要满足的条件,返回bool值
// public static IEnumerable<TSource> Where<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate)
// {
// foreach (TSource item in source)
// {
// if (predicate(item))
// {
// yield return item;
// }
// }
// }
}
}