return students.FirstOrDefault(s => s.Name == name)?.TotalScore ?? -1;
时间: 2024-10-20 22:17:39 浏览: 9
Microsoft.AspNet.SignalR.2.4.0 Microsoft.AspNet.SignalR.Core.2.4.0
在C#中,`FirstOrDefault()` 是 LINQ(Language Integrated Query)方法之一,用于查找集合(如 `students` 列表)中的第一个满足特定条件的元素。这段代码示例展示了如何在 `students` 列表中找到名字为 `name` 的学生的总分:
```csharp
var students = new List<Student>(); // 假设有一个学生列表
// 假设每个学生有 Name 和 TotalScore 属性
// 使用 Lambda 表达式作为查询条件
var result = students.FirstOrDefault(s => s.Name == "name");
// 如果找到了匹配的学生,则返回其 TotalScore;否则,返回默认值 -1
int totalScore = result?.TotalScore ?? -1;
```
这里的 `??` 运算符是可选链运算符,如果 `FirstOrDefault()` 返回的 `result` 是 `null`(意味着未找到匹配的学生),那么表达式会短路并直接返回 `-1`,避免抛出 `NullReferenceException`。
阅读全文