C# 数组 FirstOrDefault 方法详解
时间: 2024-10-17 16:04:06 浏览: 74
在C#中,`FirstOrDefault()` 是LINQ查询操作符之一,它用于从数组、列表或其他实现了IEnumerable<T>接口的数据源中查找第一个元素。如果数据源为空或者提供的条件未匹配到任何元素,`FirstOrDefault()` 将返回默认值,通常对于数值类型是`default(T)`,对于引用类型则是null。
该方法的基本语法如下:
```csharp
TResultFirstOrDefault<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate = null)
```
- `source`: 需要搜索的数据源。
- `predicate` (可选): 一个Lambda表达式,用于定义筛选条件。如果没有提供这个参数,则默认按索引查找。
以下是使用示例:
```csharp
int[] numbers = { 5, 3, 7, 1 };
int firstEvenNumber = numbers.FirstOrDefault(n => n % 2 == 0); // 如果有偶数,返回第一个,否则返回默认(0)
string[] names = { "Alice", "Bob", "Charlie" };
string firstName = names.FirstOrDefault(); // 如果名字数组非空,返回第一个名字,否则返回null
```
阅读全文