首页后端开发ASP.NETC#中匿名委托以及Lambda表达式的实例详解

C#中匿名委托以及Lambda表达式的实例详解

时间2024-01-30 09:29:02发布访客分类ASP.NET浏览241
导读:收集整理的这篇文章主要介绍了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核实处理,我们将尽快回复您,谢谢合作!

.netcsharpLambda匿名委托表达式

若转载请注明出处: C#中匿名委托以及Lambda表达式的实例详解
本文地址: https://pptw.com/jishu/592341.html
javascript怎么改变a标签的值 浅谈如何使用Nodejs创建访问日志记录的中间件

游客 回复需填写必要信息