2018-04-21 开胃学习.Net 系列 - C# lamb

2018-04-22  本文已影响0人  Kaiweio

定义:"Lambda表达式"是一个匿名函数,是一种高效的类似于函数式编程的表达式

好处:Lambda简化了匿名委托的使用,减少开发中需要编写的代码量。
具体内容:它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型,支持带有可绑定到委托或表达式树的输入参数的内联表达式。
写法:所有Lambda表达式都使用Lambda运算符=>,该运算符读作"goes to"。Lambda运算符的左边是输入参数(如果有),右边是表达式或语句块。Lambda表达式x => x * x读作"x goes to x times x"。

Lambda表达式的本质是“匿名方法”,即当编译我们的程序代码时,“编译器”会自动将“Lambda表达式”转换为“匿名方法”,如下例:

namespace LambdaLearn  
{  
    public class Person  
    {  
        public string Name { get; set; }  
        public int Age  {  get;set; }      
    }  
    class Program  
    {  
  
        public static List<Person> PersonsList()//方法返回Person类的List集合  
        {  
            List<Person> persons = new List<Person>();  
            for (int i = 0; i < 7; i++)  
            {  
                Person p = new Person() { Name = i + "人物年龄", Age = 8 - i, };  
                persons.Add(p);                  
            }  
            return persons;  
        }  
  
        static void Main(string[] args)  
        {  
            List<Person> persons0 = PersonsList();  
            List<Person> persons1 = persons.Where(p => p.Age > 6).ToList();   //所有Age>6的Person的集合  
            Person per = persons.SingleOrDefault(p => p.Age == 1);  //Age=1的单个people类  
            List<Person> persons2 = persons.Where(p => p.Name.Contains("年龄")).ToList();   //所有Name包含年龄的Person的集合  
        }  
    }  
}  

上一篇下一篇

猜你喜欢

热点阅读