Функции агрегирования

В LINQ есть удобные методы для вычисления минимума, максимума, среднего и количества элементов в последовательности.

Вот все они в действии:

Все эти методы при вызове полностью обходят коллекцию. Исключение составляет только метод Count — если последовательность на самом деле реализует интерфейс ICollection (в котором есть свойство Count), то LINQ-метод Count() не станет перебирать всю коллекцию, а сразу вернет значение свойства Count.

Благодаря этой оптимизации, временная сложность работы LINQ-метода Count() на массивах, списках, хэш-таблицах и многих других структурах данных — O(1).

Есть еще две полезные функции: All и Any, которые проверяют, выполняется ли заданный предикат для всех элементов последовательности или хотя бы для одного элемента соответственно.

Комментарии отключены
Работает форматирование: **жирный текст**, __курсивный текст__, `код`, ```многострочный код```.