在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。