在C#中,謂詞(Predicate)是一個返回布爾值的函數,通常用于篩選集合中的元素。你可以使用Lambda表達式或方法引用的方式來創建謂詞。這里有一些示例:
// 定義一個整數列表
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
// 使用Lambda表達式創建一個謂詞,用于篩選大于3的數
Predicate<int> isGreaterThanThree = x => x > 3;
// 使用謂詞篩選列表中的元素
List<int> filteredNumbers = numbers.Where(isGreaterThanThree).ToList();
// 輸出篩選后的列表
Console.WriteLine(string.Join(", ", filteredNumbers)); // 輸出:4, 5
// 定義一個整數列表
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
// 定義一個靜態方法,用于判斷一個數是否大于3
static bool IsGreaterThanThree(int x)
{
return x > 3;
}
// 使用方法引用的方式創建一個謂詞
Predicate<int> isGreaterThanThree = IsGreaterThanThree;
// 使用謂詞篩選列表中的元素
List<int> filteredNumbers = numbers.Where(isGreaterThanThree).ToList();
// 輸出篩選后的列表
Console.WriteLine(string.Join(", ", filteredNumbers)); // 輸出:4, 5
在這兩個示例中,我們創建了一個謂詞isGreaterThanThree
,用于篩選大于3的數。然后我們使用LINQ的Where
方法,將謂詞作為參數傳遞,從而篩選出列表中滿足條件的元素。