• Microsoft .NET
  • C#.NET
  • Ускорение словарей на базе Enum с помощью обобщенного EnumComparer

Стандартные операторы запроса с LINQ - Типы операторов

ОГЛАВЛЕНИЕ

Типы операторов

Существует много различных типов операторов (любой из них можно найти в классаых Enumerable и Queryable, воспользовавшись обозревателем объектов). На рис. A приведены типы операторов в алфавитном порядке. Он дает представление о том, какие функции операторы могут выполнять. Преимущества некоторых из них мы продемонстрируем на примере их применения в методах «LINQ — объекты» и «LINQ — сущности».

Figure A Категории операторов

ОператорОписание
Объединение
AggregateПрименяет к последовательности пользовательский метод.
AverageВычисляет среднее для числовой последовательности.
CountВозвращает количество элементов в последовательности (целочисленное значение).
LongCountВозвращает количество элементов в последовательности (значение в диапазоне LongInt).
MinВозвращает наименьшее значение для числовой последовательности.
MaxВозвращает наибольшее значение для числовой последовательности.
SumСкладывает члены числовой последовательности.
Конкатенация
ConcatСоединяет две последовательности в одну.
Преобразование
CastПреобразует элементы последовательности в элемены указанного типа.
OfTypeВыбирает из элементов последовательности элемены указанного типа.
ToArrayВозвращает массив из элементов последовательности.
ToDictionaryВозвращает словарь из элементов последовательности.
ToListВозвращает список из элементов последовательности.
ToLookupВозвращает результаты поиска по последовательности.
ToSequenceВозвращает последовательность IEnumerable.
Элемент
DefaultIfEmptyСоздает стандартный элемент для пустой последовательности.
ElementAtВозвращает элемент последовательности по указанному индексу.
ElementAtOrDefaultВозвращает элемент по указанному индексу или стандартный элемент (если индекс вышел за пределы диапазона).
FirstВозвращает первый элемент последовательности.
FirstOrDefaultВозвращает первый элемент последовательности или стандартный элемент (если нужный элемент не найден).
LastВозвращает последний элемент последовательности.
LastOrDefaultВозвращает последний элемент последовательности или стандартный элемент (если нужный элемент не найден).
SingleВозвращает единственный элемент последовательности.
SingleOrDefaultВозвращает единственный элемент последовательности или стандартный элемент (если нужный элемент не найден).
Равенство
SequenceEqualПроверяет эквивалентность двух последовательностей.
Создание
EmptyСоздает пустую последовательность.
RangeСоздает последовательность в соответствии с заданным диапазоном.
RepeatСоздает последовательность, повторяя значение заданное количество раз.
Группировка
GroupByГруппирует элементы последовательности указанным образом.
Присоединение
GroupJoinВыполняет группированное соединение двух последовательностей.
JoinВыполняет внутреннее соединение двух последовательностей.
Упорядочение
OrderByУпорядочивает элементы последовательности по заданным значениям в порядке возрастания.
OrderByDescendingУпорядочивает элементы последовательности по заданным значениям в порядке убывания.
ThenByУпорядочивает элементы уже упорядоченной последовательности в порядке возрастания.
ThenByDescendingУпорядочивает элементы уже упорядоченной последовательности в порядке убывания.
ReverseЗеркально отображает порядок расположения элементов в последовательности.
Разделение на части
SkipВозвращает последовательность, в которой указанное число элементов пропущено.
SkipWhileВозвращает последовательность, в которой пропущены элементы, не соответствующие указанному условию.
TakeВозвращает последовательность, в которую включается указанное число элементов.
TakeWhileВозвращает последовательность, в которую включаются элементы, соответствующие указанному условию.
Проекция
SelectСоздает проекцию части последовательности.
SelectManyСоздает проекцию части последовательности по принципу «один ко многим».
Кванторы
AllОпределяет соответствие всех элементов последовательности указанным условиям.
AnyОпределяет, есть ли в последовательность элементы, удовлетворяющие указанным условиям.
ContainsОпределяет, есть ли в последовательности указанный элемент.
Ограничение
WhereСортирует члены последовательности.
Настройка
DistinctВозвращает последовательность без повторяющихся элементов.
ExceptВозвращает последовательность, представляющую собой разность двух других последовательностей.
IntersectВозвращает последовательность, представляющую собой пересечение двух других последовательностей.
UnionВозвращает последовательность, представляющую собой объединение двух других последовательностей.