c#list如何用select取第一个符合条件的结果
时间: 2024-11-05 14:33:59 浏览: 4
C#将DataTable转换成list的方法
在 C# 中,如果你有一个 `List<T>` 集合,并想要通过 `Select` 方法获取满足特定条件的第一个元素,你可以结合 `FirstOrDefault()` 或 `SingleOrDefault()` 方法一起使用。这两个方法会查找集合中第一个匹配给定条件的元素,如果找到就返回,否则返回默认值(对于 `FirstOrDefault()`),或者抛出异常(对于 `SingleOrDefault()`,如果存在多个匹配项)。
例如,假设你有一个 `Person` 对象列表,你想找出第一个年龄大于 18 的人:
```csharp
List<Person> people = ... // 你的人员列表
var firstAdult = people.FirstOrDefault(p => p.Age > 18);
```
如果只有一个成年人,`firstAdult` 就会存储这个人的引用;如果没有,它将是一个默认值(如null)。如果你想确保只返回一个结果并抛出异常当有多于一个符合条件的元素时,可以使用:
```csharp
var firstAdult = people.SingleOrDefault(p => p.Age > 18);
```
这将会引发 `InvalidOperationException` 如果有多个成年人。
阅读全文