如何使用LINQ查询获取仅保留Student类Name属性的课程学生字典
实现方案
首先你定义的Student类结构如下:
public class Student { public string Name { get; set; } public int? Age { get; set; } public bool? IsMale { get; set; } }
假设你存储课程信息的原始字典变量名为courseStudentDict,对应的LINQ查询写法如下:
// 生成仅保留Name属性赋值的新字典 var resultDict = courseStudentDict .ToDictionary( // 保留原课程编号作为新字典的键 kvp => kvp.Key, // 对每个课程下的学生做投影,仅保留Name属性 kvp => kvp.Value.Select(student => new Student { Name = student.Name }).ToList() );
逻辑说明
- 新生成的
Student对象仅显式赋值Name属性,Age和IsMale会保持可空值类型的默认null值,符合仅保留Name赋值的要求 - 最终返回的
resultDict结构完全匹配你要求的Dictionary<string, List<Student>>类型
内容的提问来源于stack exchange,提问作者user3021830
相关产品推荐
相关产品推荐

