在C#中,filter通常指的是LINQ中的Where方法,用于筛选集合中符合条件的元素。其工作原理是通过传入一个谓词(Predicate)来判断集合中的每一个元素是否符合条件,如果符合条件则该元素被包含在结果集合中,否则被排除。
具体而言,Where方法接收一个Lambda表达式作为参数,Lambda表达式包含一个参数代表集合中的每一个元素,返回一个布尔值表示该元素是否符合条件。Where方法会遍历集合中的每一个元素,对每一个元素应用Lambda表达式进行判断,将符合条件的元素加入到结果集合中返回。
示例代码如下所示:
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
var filteredNumbers = numbers.Where(x => x % 2 == 0);
foreach (var number in filteredNumbers)
{
Console.WriteLine(number); // 输出2, 4
}
在上述代码中,Where方法筛选出了集合中所有的偶数元素,最终结果为2和4。