📜  LINQ元素运算符(1)

📅  最后修改于: 2023-12-03 14:43:54.628000             🧑  作者: Mango

LINQ元素运算符

在LINQ中,元素运算符是一组操作符,用于在序列中获取单个元素或满足特定条件的一组元素。这些操作符可以帮助我们更轻松地完成各种查询操作。下面是一些常用的LINQ元素运算符:

First 和 FirstOrDefault

First()FirstOrDefault() 方法可以用于从序列中获取第一个元素。它们之间的区别在于,当序列为空时,First() 方法会抛出一个异常,而 FirstOrDefault() 方法会返回一个默认值(例如 null)。

//返回序列的第一个元素,如果序列为空,则抛出异常
int first = numbers.First();

//返回序列的第一个元素,如果序列为空,则返回默认值(即0作为不是数值类型的默认值)
int firstOrDefault = numbers.FirstOrDefault();
Last 和 LastOrDefault

Last()LastOrDefault() 方法可以用于从序列中获取最后一个元素。它们之间的区别在于,当序列为空时,Last() 方法会抛出一个异常,而 LastOrDefault() 方法会返回一个默认值。

//返回序列的最后一个元素,如果序列为空,则抛出异常
int last = numbers.Last();

//返回序列的最后一个元素,如果序列为空,则返回默认值(即0作为不是数值类型的默认值)
int lastOrDefault = numbers.LastOrDefault();
Single 和 SingleOrDefault

Single()SingleOrDefault() 方法可以用于从序列中获取一个(且仅一个)元素。它们之间的区别在于,当找到多个匹配的元素时,Single() 方法会抛出一个异常,而 SingleOrDefault() 方法会返回一个默认值。

//返回序列中的一个(且仅一个)元素,如果序列中没有元素或多于一个元素,则抛出异常
int single = numbers.Single();

//返回序列中的一个(且仅一个)元素,如果序列中没有元素或多于一个元素,则返回默认值(即0作为不是数值类型的默认值)
int singleOrDefault = numbers.SingleOrDefault();
ElementAt 和 ElementAtOrDefault

ElementAt()ElementAtOrDefault() 方法可以用于从序列中获取指定索引位置的元素。它们之间的区别在于,当索引超出序列范围时,ElementAt() 方法会抛出一个异常,而 ElementAtOrDefault() 方法会返回一个默认值。

//返回序列中指定索引位置的元素,如果索引超出序列范围,则抛出异常
int elementAt = numbers.ElementAt(3);

//返回序列中指定索引位置的元素,如果索引超出序列范围,则返回默认值(即0作为不是数值类型的默认值)
int elementAtOrDefault = numbers.ElementAtOrDefault(3);
DefaultIfEmpty

DefaultIfEmpty() 方法可以用于从序列中获取元素,如果序列为空,则返回一个包含一个默认值的序列。

//如果序列为空,则返回一个包含默认值0的序列,否则返回原始序列
IEnumerable<int> defaultIfEmpty = numbers.DefaultIfEmpty();

以上就是一些常用的LINQ元素运算符,它们可以帮助我们更轻松地完成各种查询操作。