Linq中的select可以便捷使我们的对List中的每一项进行操作,生成新的列表。
- var tt=list.select(p=>p+10);
- //select括号内为List中的每一项,p+10即为对每一项的操作,即对每项都加10生成新的List
用法实例:
1、lambda表达式
- int[] array = { 1,5,6,7,6,9,12,2,7,6,33};
- List<int> l1 = new List<int>(array);
- var t1 = l1.Select((p)=>p+10);
- foreach (var item in t1)
- {
- Console.WriteLine(item);
- }
输出结果为:
2、Linq语法
- List
stuList = new List() - {
- new Student_1(){ID=1,Name="John",Chinese=92,Math=88,English=92},
- new Student_1(){ID=2,Name="Mary",Chinese=87,Math=94,English=82},
- new Student_1(){ID=3,Name="KangKang",Chinese=89,Math=91,English=96},
- new Student_1(){ID=4,Name="Maria",Chinese=88,Math=65,English=94},
- new Student_1(){ID=5,Name="Ben",Chinese=70,Math=91,English=82},
- };
-
- var t1 = from e in stuList select e.English;
- foreach (var item in t1)
- {
- Console.WriteLine(item);
- }
在C# Linq中,SelectMany方法用于将一个集合中的每个元素转换为另一个集合,并将所有转换后的集合合并为一个集合。
- List
int>> list = new Listint>>()
- {
- new List<int>() { 1, 2, 3 },
- new List<int>() { 4, 5, 6 },
- new List<int>() { 7, 8, 9 }
- };
-
- var result = list.SelectMany(x => x);
-
- foreach (var item in result)
- {
- Console.WriteLine(item);
- }
where在Linq中主要进行对数据筛选,并且生成新的List。
- List
stuList = new List() - {
- new Student_1(){ID=1,Name="John",Chinese=92,Math=88,English=92},
- new Student_1(){ID=2,Name="Mary",Chinese=87,Math=94,English=82},
- new Student_1(){ID=3,Name="KangKang",Chinese=89,Math=91,English=96},
- new Student_1(){ID=4,Name="Maria",Chinese=88,Math=65,English=94},
- new Student_1(){ID=5,Name="Ben",Chinese=70,Math=91,English=82},
- };
-
- //lambda表达式 表达式内部填的是判断条件
- var t1 = stuList.Where(p => p.English == 88);
- // Linq 语句
- var t1 = from e in stuList where e.English == 82 select e;
需要注意的是Lambda表达式中不需要select结尾,但Linq 语句必须是select结尾否则报错
运行结果为:
参考文献:
C#的LINQ select查询、where过滤、group分组、join关联_c# t.select().join_小龙在山东的博客-CSDN博客