LINQ - Операторы запросов

Набор методов расширения, образующих шаблон запроса, известен как стандартные операторы запроса LINQ. В качестве строительных блоков выражений запросов LINQ эти операторы предлагают ряд возможностей запросов, таких как фильтрация, сортировка, проекция, агрегирование и т. Д.

Стандартные операторы запросов LINQ можно разделить на следующие в зависимости от их функциональности.

  • Операторы фильтрации
  • Операторы присоединения
  • Проекционные операции
  • Операторы сортировки
  • Операторы группировки
  • Conversions
  • Concatenation
  • Aggregation
  • Квантификационные операции
  • Операции с разделами
  • Генерация операций
  • Установить операции
  • Equality
  • Операторы Элементов

Операторы фильтрации

Фильтрация - это операция по ограничению набора результатов таким образом, чтобы в нем были только выбранные элементы, удовлетворяющие определенному условию.

Показать примеры

Оператор Описание Синтаксис выражения запроса C # Синтаксис выражения запроса VB
где Значения фильтрации на основе функции предиката где где
OfType Фильтровать значения на основе их способности соответствовать указанному типу Непригодный Непригодный

Операторы присоединения

Присоединение относится к операции, при которой нацелены на источники данных с трудными для отслеживания взаимосвязями друг с другом напрямую.

Показать примеры

Оператор Описание Синтаксис выражения запроса C # Синтаксис выражения запроса VB
Присоединиться Оператор объединяет две последовательности на основе совпадающих ключей присоединиться… в… на… равно… From x In…, y In… Где xa = ya
GroupJoin Соедините две последовательности и сгруппируйте совпадающие элементы присоединиться… в… на… равно… в… Присоединиться к группе… В… Вкл…

Проекционные операции

Проекция - это операция, при которой объект преобразуется в совершенно новую форму со только определенными свойствами.

Показать примеры

Оператор Описание Синтаксис выражения запроса C # Синтаксис выражения запроса VB
Выбрать Оператор проецирует значения на основе функции преобразования Выбрать Выбрать
SelectMany Оператор проецирует последовательности значений, основанные на функции преобразования, а также объединяет их в единую последовательность. Используйте несколько предложений from Используйте несколько предложений From

Операторы сортировки

Операция сортировки позволяет упорядочивать элементы последовательности на основе одного или нескольких атрибутов.

Показать примеры

Оператор Описание Синтаксис выражения запроса C # Синтаксис выражения запроса VB
Сортировать по Оператор сортирует значения в порядке возрастания. Сортировать по Сортировать по
OrderByDescending Значения оператора сортируются в порядке убывания по ... по убыванию Сортировать по ... По убыванию
Тогда Выполняет вторичную сортировку в порядке возрастания Сортировать по …, … Сортировать по …, …
ThenByDescending Выполняет вторичную сортировку в порядке убывания orderby…,… по убыванию Сортировать по…,… По убыванию
Обеспечить регресс Выполняет обратный порядок элементов в коллекции Непригодный Непригодный

Операторы группировки

Операторы помещают данные в несколько групп на основе общего общего атрибута.

Показать примеры

Оператор Описание Синтаксис выражения запроса C # Синтаксис выражения запроса VB
Группа по Организуйте последовательность элементов в группы и верните их как коллекцию IEnumerable типа IGrouping <key, element> группа… по -или- группа… по… в… Группировать… По… В…
ToLookup Выполните операцию группировки, в которой возвращается последовательность пар ключей Непригодный Непригодный

Конверсии

Операторы изменяют тип входных объектов и используются в самых разных приложениях.

Показать примеры

Оператор Описание Синтаксис выражения запроса C # Синтаксис выражения запроса VB
AsEnumerable Возвращает ввод, набранный как IEnumerable <T> Непригодный Непригодный
AsQueryable (Общий) IEnumerable преобразуется в (общий) IQueryable Непригодный Непригодный
В ролях Выполняет приведение элементов коллекции к указанному типу Используйте явно типизированную переменную диапазона. Например: из строки str в словах От… Как…
OfType Фильтрует значения на основе их, в зависимости от их способности быть приведенным к определенному типу Непригодный Непригодный
ToArray Принудительное выполнение запроса и преобразование коллекции в массив Непригодный Непригодный
ToDictionary На основе ключевого селектора функции набор элементов в Dictionary <TKey, TValue> и принудительное выполнение запроса LINQ. Непригодный Непригодный
Составлять список Принудительное выполнение запроса путем преобразования коллекции в List <T> Непригодный Непригодный
ToLookup Принудительно выполняет запрос и помещает элементы в Lookup <TKey, TElement> на основе функции селектора ключа Непригодный Непригодный

Конкатенация

Выполняет конкатенацию двух последовательностей и очень похож на оператор Union с точки зрения его работы, за исключением того факта, что он не удаляет дубликаты.

Показать примеры

Оператор Описание Синтаксис выражения запроса C # Синтаксис выражения запроса VB
Concat Две последовательности объединяются для образования единой последовательности. Непригодный Непригодный

Агрегация

Выполняет любой тип желаемой агрегации и позволяет создавать настраиваемые агрегаты в LINQ.

Показать примеры

Оператор Описание Синтаксис выражения запроса C # Синтаксис выражения запроса VB
Совокупный Оперирует значениями коллекции для выполнения настраиваемой операции агрегирования Непригодный Непригодный
В среднем Рассчитывается среднее значение набора значений. Непригодный Агрегировать… в… в среднем ()
Считать Подсчитывает элементы, удовлетворяющие функции предиката в коллекции Непригодный Агрегировать… в… в счет ()
LonCount Подсчитывает элементы, удовлетворяющие функции предиката в огромной коллекции Непригодный Агрегировать… в… в LongCount ()
Максимум Узнайте максимальную ценность в коллекции Непригодный Агрегировать… в… в макс. ()
Мин. Узнайте минимальную ценность, существующую в коллекции Непригодный Агрегировать… в… в мин ()
Сумма Узнать сумму значений в коллекции Непригодный Агрегировать… в… в сумму ()

Квантификационные операции

Эти операторы возвращают логическое значение, то есть True или False, когда некоторые или все элементы в последовательности удовлетворяют определенному условию.

Показать примеры

Оператор Описание Синтаксис выражения запроса C # Синтаксис выражения запроса VB
Все Возвращает значение True, если все элементы последовательности удовлетворяют условию предиката. Непригодный Агрегировать… в… во все (…)
Любые Путем поиска в последовательности определяет, удовлетворяет ли какой-либо из ее элементов заданному условию. Непригодный Агрегировать… в… в любое ()
Содержит Возвращает значение True, если обнаруживает, что в последовательности присутствует определенный элемент, если последовательность не содержит этот конкретный элемент, возвращается значение false Непригодный Непригодный

Операторы раздела

Разделите входную последовательность на две отдельные части, не переставляя элементы последовательности, а затем возвращая один из них.

Показать примеры

Оператор Описание Синтаксис выражения запроса C # Синтаксис выражения запроса VB
Пропускать Пропускает указанное количество элементов в последовательности и возвращает оставшиеся Непригодный Пропускать
SkipWhile То же, что и для Skip, за исключением того, что количество элементов для пропуска определяется логическим условием Непригодный Пропустить пока
Взять Возьмите указанное количество элементов из последовательности и пропустите оставшиеся Непригодный Взять
TakeWhile То же, что и Take, за исключением того факта, что количество элементов, которые нужно взять, определяется логическим условием Непригодный Взять пока

Генерация операций

Новая последовательность значений создается операторами поколения.

Показать примеры

Оператор Описание Синтаксис выражения запроса C # Синтаксис выражения запроса VB
DefaultIfEmpty При применении к пустой последовательности создать элемент по умолчанию в последовательности. Непригодный Непригодный
Пустой Возвращает пустую последовательность значений и является самым простым оператором генерации. Непригодный Непригодный
Спектр Создает коллекцию, содержащую последовательность целых или числовых значений. Непригодный Непригодный
Повторение Создает последовательность, содержащую повторяющиеся значения определенной длины Непригодный Непригодный

Установить операции

Есть четыре оператора для заданных операций, каждый из которых дает результат на основе разных критериев.

Показать примеры

Оператор Описание Синтаксис выражения запроса C # Синтаксис выражения запроса VB
Отчетливый Создает список уникальных значений из коллекции путем фильтрации повторяющихся данных, если таковые имеются Непригодный Отчетливый
Кроме Сравнивает значения двух коллекций и возвращает те из одной коллекции, которых нет в другой коллекции. Непригодный Непригодный
Пересечение Возвращает набор значений, найденных идентичными в двух отдельных коллекциях. Непригодный Непригодный
Союз Объединяет содержимое двух разных коллекций в один список, который также без дублирования содержимого Непригодный Непригодный

Равенство

Сравнивает два предложения (перечислимых) и определяет, совпадают они точно или нет.

Показать примеры

Оператор Описание Синтаксис выражения запроса C # Синтаксис выражения запроса VB
Последовательность: равно Возвращает логическое значение, если две последовательности оказываются идентичными друг другу. Непригодный Непригодный

Операторы Элементов

За исключением DefaultIfEmpty, все остальные восемь стандартных операторов элементов запроса возвращают один элемент из коллекции.

Показать примеры

Оператор Описание Синтаксис выражения запроса C # Синтаксис выражения запроса VB
ElementAt Возвращает элемент, присутствующий в определенном индексе в коллекции Непригодный Непригодный
ElementAtOrDefault То же, что и ElementAt, за исключением того факта, что он также возвращает значение по умолчанию в случае, если конкретный индекс выходит за пределы диапазона Непригодный Непригодный
Первый Извлекает первый элемент в коллекции или первый элемент, удовлетворяющий определенному условию Непригодный Непригодный
FirstOrDefault То же, что и First, за исключением того факта, что он также возвращает значение по умолчанию в случае отсутствия таких элементов. Непригодный Непригодный
Последний Извлекает последний элемент, присутствующий в коллекции, или последний элемент, удовлетворяющий определенному условию Непригодный Непригодный
LastOrDefault То же, что и Last, за исключением того факта, что он также возвращает значение по умолчанию в случае отсутствия какого-либо такого элемента Непригодный Непригодный
не замужем Возвращает одинокий элемент коллекции или одинокий элемент, удовлетворяющий определенному условию. Непригодный Непригодный
SingleOrDefault То же, что и Single, за исключением того, что он также возвращает значение по умолчанию, если не существует какого-либо такого одиночного элемента. Непригодный Непригодный
DefaultIfEmpty Возвращает значение по умолчанию, если коллекция или список пустые или нулевые Непригодный Непригодный