📅  最后修改于: 2023-12-03 14:48:27.077000             🧑  作者: Mango
在 LINQ 中,Where
方法用于筛选出序列中符合特定条件的元素,并返回一个包含这些元素的新序列。
下面是 Where
方法的使用语法:
public static IEnumerable<TSource> Where<TSource>(
this IEnumerable<TSource> source,
Func<TSource, bool> predicate
)
source
:要筛选的序列。predicate
:用于对每个元素进行测试的函数。假设有一个整型数组,我们要筛选出其中所有的偶数。可以使用 Where
方法来实现:
int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
var evenNumbers = numbers.Where(n => n % 2 == 0);
foreach (var number in evenNumbers)
{
Console.WriteLine(number);
}
输出:
2
4
6
8
10
在上面的示例中,我们使用 lambda 表达式作为 Where
方法的参数来指定筛选条件。lambda 表达式 n => n % 2 == 0
表示筛选出所有能被 2 整除的数。
可以使用多个 Where
方法来对序列进行多重筛选。例如,如果我们要筛选出数组中所有的偶数且大于 5 的数,可以按如下方式实现:
var evenNumbersGreaterThanFive = numbers.Where(n => n % 2 == 0).Where(n => n > 5);
foreach (var number in evenNumbersGreaterThanFive)
{
Console.WriteLine(number);
}
输出:
6
8
10
Where
方法是 LINQ 中常用的一个方法,它可以用于对序列进行筛选,并返回符合条件的元素组成的新序列。除了单一条件的筛选,还可以使用多个 Where
方法对序列进行多重筛选。