lambda表达式

2020/6/2 

错误记录

    今天作业的时候遇到一个题目:“求s1班级的,男女最大年龄”

    思路:

1、写两个类,Grade 年纪类 与 Student类

   Grade 字段有:

Grade类内部 


Student字段有


Student内部


2、使用静态方法先初始化一些值

3、使用拉姆达表达式的join方法进行内连接表(公共字段为GradeId)==>在使用Where筛选出S1的学生==>再对性别进行GroupBy==>使用select()返回一个新的list。

##等待补图

使用select()接受新集合之前都没有问题。

最开始的写法:select(n=>new {n.Key,n.Max()});

//报错:System.ArgumentException:“必须至少有一个对象实现 IComparable。”

一番纠结之后的写法:select(n=>new {n.Key,n.Max(c=>c.age)});

//报错:无效的匿名类型成员声明符。

问题解决之后的写法:Select(n => new { 性别=n.Key,年龄= n.Max(c => c.Age) });

错误点1:没有在max函数内填写需要从那个int序列里面取最大值导致的报错。

错误点2:没有取别名,所以它是一个匿名类型,所以无法隐式推断类型,导致的报错。


总结:非常之弱智

还是用的太少导致的小问题。

多写多练!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。