C#中匿名委托以及Lambda表达式的实例详解
导读:收集整理的这篇文章主要介绍了C#中匿名委托以及Lambda表达式的实例详解,觉得挺不错的,现在分享给大家,也给大家做个参考。一. C#从1.0到4.0, 随着Linq,泛型的支持,代码越来越简单优雅 1 int[] nums = { 5,...
收集整理的这篇文章主要介绍了C#中匿名委托以及Lambda表达式的实例详解,觉得挺不错的,现在分享给大家,也给大家做个参考。一. C#从1.0到4.0, 随着Linq,泛型的支持,代码越来越简单优雅 1 int[] nums = {
5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }
;
2 IEnumerableint>
newNums = From n in nums where n >
0 select n;
3 newNums = newNums.Where(new Funcint,int, bool>
(delegate(int i,int index) {
return i index;
}
));
4 newNums = newNums.Where(new Funcint, int, bool>
((int i, int index)=>
i index));
5 newNums = newNums.Where(delegate(int i, int index) {
return i index;
}
);
6 newNums = newNums.Where((i, index) =>
i index);
7 foreach (VAR i in newNums) 8 {
9 Console.WrITeLine(i);
10 }
二.集合操作,也可适于到EF的数据库操作
1.创建两个实体类
1 public class Store 2 {
3 public string Id;
4 public string Name;
5 }
6 public class PErson 7 {
8 public string name {
get;
set;
}
9 public int age {
get;
set;
}
10 public string Storeid {
get;
set;
}
11 }
2.插入数据
1 var Stores = new ListStore>
() 2 {
3 new Store() {
Id="1",Name="1班"}
, 4 new Store() {
Id="2",Name="2班"}
5 }
;
6 7 var Persons = new ListPerson>
() 8 {
9 new Person() {
name="p1",age=1, StoreId="1"}
,10 new Person() {
name="p2",age=2, StoreId="1"}
,11 new Person() {
name="P3",age=3, StoreId="1"}
,12 new Person() {
name="p4",age=4, StoreId="2"}
,13 new Person() {
name="p5",age=5, StoreId="1"}
,14 new Person() {
name="p6",age=6, StoreId="2"}
,15 new Person() {
name="p7",age=7, StoreId="1"}
,16 new Person() {
name="p8",age=8, StoreId="1"}
17 }
;
3. 查询年龄小于3岁的人1班和2班分别有几个人
1 var plst = Persons.Where(o =>
o.age >
3).GroupBy(o =>
o.StoreId).Select(g =>
new {
StoreId = g.Key, Count = g.Count() }
).Join(Stores, s =>
s.StoreId, p =>
p.Id, (s, p) =>
new {
s.StoreId, storename = p.Name, s.Count }
);
2 foreach (var p in plst)3 {
4 Console.WriteLine(p.storeName + "有" + p.Count + "个人");
5 }
4.输出
2班有2个人1班有3个人
以上就是C#中匿名委托以及Lambda表达式的实例详解的详细内容,更多请关注其它相关文章!
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: C#中匿名委托以及Lambda表达式的实例详解
本文地址: https://pptw.com/jishu/592341.html
