LINQ ForEach声明

Rob*_*Rob 4 .net c# linq

我有一个结构:

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)

我知道这对某些人来说相当微不足道,但由于某种原因,我似乎无法找到任何简化的有效示例.

想法?

sll*_*sll 9

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()初始化集合的每个基础条目调用方法.