C# 面试题 目录

C# 中 LINQ 常用的扩展方法有哪些 (如:Where, Select, OrderBy)?

推荐答案

在C#中,LINQ(Language Integrated Query)提供了许多常用的扩展方法,用于对集合进行查询和操作。以下是一些常用的LINQ扩展方法:

  • Where: 用于过滤集合中的元素,返回满足条件的元素。
  • Select: 用于将集合中的每个元素投影到新的形式。
  • OrderBy: 用于按升序对集合中的元素进行排序。
  • OrderByDescending: 用于按降序对集合中的元素进行排序。
  • GroupBy: 用于根据指定的键对集合中的元素进行分组。
  • Join: 用于根据两个集合中的共同键将它们连接起来。
  • Distinct: 用于从集合中移除重复的元素。
  • Any: 用于判断集合中是否存在满足条件的元素。
  • All: 用于判断集合中的所有元素是否都满足条件。
  • First: 用于返回集合中的第一个元素。
  • FirstOrDefault: 用于返回集合中的第一个元素,如果集合为空则返回默认值。
  • Single: 用于返回集合中的唯一元素,如果集合为空或包含多个元素则抛出异常。
  • SingleOrDefault: 用于返回集合中的唯一元素,如果集合为空则返回默认值,如果集合包含多个元素则抛出异常。
  • Count: 用于返回集合中元素的数量。
  • Sum: 用于计算集合中数值元素的总和。
  • Average: 用于计算集合中数值元素的平均值。
  • Min: 用于返回集合中的最小值。
  • Max: 用于返回集合中的最大值。
  • Take: 用于从集合的开头返回指定数量的元素。
  • Skip: 用于跳过集合中指定数量的元素,并返回剩余的元素。
  • TakeWhile: 用于从集合的开头返回满足条件的元素,直到遇到第一个不满足条件的元素为止。
  • SkipWhile: 用于跳过集合中满足条件的元素,直到遇到第一个不满足条件的元素为止。
  • Concat: 用于将两个集合连接在一起。
  • Union: 用于返回两个集合的并集,移除重复的元素。
  • Intersect: 用于返回两个集合的交集。
  • Except: 用于返回两个集合的差集。

本题详细解读

LINQ是C#中非常强大的功能,它允许开发者以声明式的方式对集合进行查询和操作。LINQ扩展方法是通过扩展方法语法实现的,这意味着它们可以被直接应用于任何实现了IEnumerable<T>接口的集合。

Where

Where方法用于过滤集合中的元素。它接受一个谓词(即一个返回布尔值的函数),并返回满足该谓词的所有元素。

Select

Select方法用于将集合中的每个元素投影到新的形式。它接受一个转换函数,并返回转换后的元素。

OrderBy

OrderBy方法用于按升序对集合中的元素进行排序。它接受一个键选择器函数,并返回按该键排序后的元素。

GroupBy

GroupBy方法用于根据指定的键对集合中的元素进行分组。它返回一个IGrouping<TKey, TElement>的集合,其中每个分组包含具有相同键的元素。

Join

Join方法用于根据两个集合中的共同键将它们连接起来。它返回一个包含匹配元素的新集合。

Distinct

Distinct方法用于从集合中移除重复的元素。它返回一个包含唯一元素的新集合。

Any

Any方法用于判断集合中是否存在满足条件的元素。它返回一个布尔值,表示集合中是否存在满足条件的元素。

All

All方法用于判断集合中的所有元素是否都满足条件。它返回一个布尔值,表示集合中的所有元素是否都满足条件。

First

First方法用于返回集合中的第一个元素。如果集合为空,则抛出异常。

FirstOrDefault

FirstOrDefault方法用于返回集合中的第一个元素,如果集合为空则返回默认值。

Single

Single方法用于返回集合中的唯一元素。如果集合为空或包含多个元素,则抛出异常。

SingleOrDefault

SingleOrDefault方法用于返回集合中的唯一元素,如果集合为空则返回默认值,如果集合包含多个元素则抛出异常。

Count

Count方法用于返回集合中元素的数量。

Sum

Sum方法用于计算集合中数值元素的总和。

Average

Average方法用于计算集合中数值元素的平均值。

Min

Min方法用于返回集合中的最小值。

Max

Max方法用于返回集合中的最大值。

Take

Take方法用于从集合的开头返回指定数量的元素。

Skip

Skip方法用于跳过集合中指定数量的元素,并返回剩余的元素。

TakeWhile

TakeWhile方法用于从集合的开头返回满足条件的元素,直到遇到第一个不满足条件的元素为止。

SkipWhile

SkipWhile方法用于跳过集合中满足条件的元素,直到遇到第一个不满足条件的元素为止。

Concat

Concat方法用于将两个集合连接在一起。

Union

Union方法用于返回两个集合的并集,移除重复的元素。

Intersect

Intersect方法用于返回两个集合的交集。

Except

Except方法用于返回两个集合的差集。

纠错
反馈