温馨提示×

c# predicate怎样实现

c#
小樊
81
2024-11-21 14:53:34
栏目: 编程语言

在C#中,谓词(Predicate)是一个返回布尔值的函数,通常用于筛选集合中的元素。你可以使用Lambda表达式或方法引用的方式来创建谓词。这里有一些示例:

  1. 使用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
  1. 使用方法引用的方式创建谓词:
// 定义一个整数列表
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方法,将谓词作为参数传递,从而筛选出列表中满足条件的元素。

0