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:没有取别名,所以它是一个匿名类型,所以无法隐式推断类型,导致的报错。
总结:非常之弱智
还是用的太少导致的小问题。
多写多练!!!