Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
1124 of 1492 menu
◀ ▶

Класс Predicate

Predicate - делегат с одним параметром типа T и результатом bool. Им описывают условие для элемента: подходит или нет. Часто передают в FindAll и другие методы коллекций.

Синтаксис

Predicate<int> check = x => x > 0; bool res = check(5);

Пример

Давайте проверим, больше ли число нуля:

using System; class Program { static void Main() { Predicate<int> isPositive = x => x > 0; Console.WriteLine(isPositive(5)); } }

Результат выполнения кода:

True

Пример

Давайте проверим длину строки через Predicate<string>:

using System; class Program { static void Main() { Predicate<string> isLong = text => text.Length > 3; Console.WriteLine(isLong("abcde")); } }

Результат выполнения кода:

True

Пример

Давайте отфильтруем список через List.FindAll:

using System; using System.Collections.Generic; class Program { static void Main() { var nums = new List<int> {1, 2, 3, 4, 5}; Predicate<int> isEven = x => x % 2 == 0; var res = nums.FindAll(isEven); Console.WriteLine(res.Count); } }

Результат выполнения кода:

2

Смотрите также

  • класс Func,
    который возвращает любой тип
  • метод FindAll,
    который принимает Predicate
  • тип bool,
    который возвращает Predicate
  • лямбда лямбда,
    которой задают условие в Predicate
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить