我有一个结构:
struct Student
{
string Name;
int ClassesMissedToday;
}
Run Code Online (Sandbox Code Playgroud)
我现在有一个结构列表:
List<Student> Students = new List<Student>();
Run Code Online (Sandbox Code Playgroud)
如何在LINQ中说出以下内容:
Students.Add(new Student { Name = "Bob", ClassesMissedToday = 2 })
Students.Add(new Student { Name = "Bob", ClassesMissedToday = 0 })
Students.Add(new Student { Name = "Joe", ClassesMissedToday = 0 })
Students.Add(new Student { Name = "Bob", ClassesMissedToday = 1 })
Run Code Online (Sandbox Code Playgroud)
(伪代码)
foreach Student.Name in Students:
Console.WriteLine("Total Classes Missed Total: {0}", ClassedMissedToday(count all of them)
Run Code Online (Sandbox Code Playgroud)
我知道这对某些人来说相当微不足道,但由于某种原因,我似乎无法找到任何简化的有效示例.
想法?
Sum() 寻求帮助:
int total = students.Sum(s => s.ClassesMissedToday);
Run Code Online (Sandbox Code Playgroud)
此外,您可能会发现自C#3.0以来更有用的集合初始化语法
var students = new List<Student>
{
new Student { Name = "Bob", ClassesMissedToday = 2 },
new Student { Name = "Bob", ClassesMissedToday = 0 },
new Student { Name = "Joe", ClassesMissedToday = 0 },
new Student { Name = "Bob", ClassesMissedToday = 1 }
};
Run Code Online (Sandbox Code Playgroud)
这将执行相同的操作,因为将为Add()初始化集合的每个基础条目调用方法.
| 归档时间: |
|
| 查看次数: |
2686 次 |
| 最近记录: |