FirstOrDefault
是 C# 中的一个 LINQ 方法,用于从集合(如列表、数组等)中查找并返回第一个满足指定条件的元素。如果没有找到满足条件的元素,则返回集合中的默认值。
FirstOrDefault
可以处理任何实现了 IEnumerable
接口的集合类型,例如 List<T>
、HashSet<T>
、Dictionary<TKey, TValue>
等。对于引用类型,默认值为 null
;对于值类型,默认值为类型的默认构造值(例如,对于 int
类型,默认值为 0
)。
下面是一些使用 FirstOrDefault
的示例:
// 示例 1:查找列表中的第一个偶数
List<int> numbers = new List<int> { 1, 3, 5, 7, 9 };
int firstEven = numbers.FirstOrDefault(n => n % 2 == 0);
Console.WriteLine(firstEven); // 输出:2
// 示例 2:查找字典中键为 "key1" 的值
Dictionary<string, string> dictionary = new Dictionary<string, string> { { "key1", "value1" }, { "key2", "value2" } };
string value = dictionary.FirstOrDefault(kvp => kvp.Key == "key1");
Console.WriteLine(value); // 输出:value1
// 示例 3:查找数组中的第一个浮点数
double[] numbersArray = { 1.1, 2.2, 3.3, 4.4 };
double firstDouble = numbersArray.FirstOrDefault(n => n is double);
Console.WriteLine(firstDouble); // 输出:1.1