CH12_Lambda表达式
本章目标
Lambda
语法
这里需要注意的是,如果在方法定义中定义了返回值类型,在表达式中不必使用 return 关键字,只需要计算值即可。
这种形式只能用在方法中只有一条语句的情况下,方便方法的书写。
案例1:无参
1 2 3 4 5 6 7 8 9
| class LambdaClass { public static void Builder1() => Console.WriteLine(new Random().Next(1111,9999)); public static int Builder2() => new Random().Next(1111, 9999); }
|
1 2 3 4 5 6 7 8 9
| class Program { static void Main(string[] args) { LambdaClass.Builder1(); Console.WriteLine(LambdaClass.Builder2()); } }
|
案例2:有参
1 2 3 4 5 6 7 8 9
| class LambdaClass { public static void Add1(int a, int b) => Console.WriteLine(a + b); public static int Add2(int a, int b) => a + b; }
|
1 2 3 4 5 6 7 8 9 10
| class Program { static void Main(string[] args) { LambdaClass.Add2(100, 200); Console.WriteLine(LambdaClass.Add2(100, 200)); } }
|
案例3:在集合中使用Lambda
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| class Student { public string Name { get; set; }
public int Age { get; set; }
public string Sex { get; set; } }
class Program {
static void Main(string[] args) { List<Student> stuList = new List<Student>(); stuList.AddRange(new Student[] { new Student{ Name="张三",Age=25,Sex="男" }, new Student{ Name="李四",Age=18,Sex="女" }, new Student{ Name="王五",Age=17,Sex="男" }, new Student{ Name="赵六",Age=23,Sex="女" } });
List<Student> temp = stuList.FindAll(p=> p.Age>18 && p.Sex=="女");
Console.ReadLine(); } }
|
课后作业
1.略