美文网首页
2018-04-21 开胃学习.Net 系列 - C# lamb

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

作者: Kaiweio | 来源:发表于2018-04-22 00:08 被阅读0次

    定义:"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的集合  
            }  
        }  
    }  
    
    

    相关文章

      网友评论

          本文标题:2018-04-21 开胃学习.Net 系列 - C# lamb

          本文链接:https://www.haomeiwen.com/subject/tyfqlftx.html