Учебники

LINQ — операторы запросов

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

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

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

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

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

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

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

Присоединяйтесь к операторам

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

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

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

Операции проекции

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

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

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

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

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

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

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

Группировка операторов

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

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

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

Конверсии

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

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

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

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

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

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

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

агрегирование

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

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

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

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

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

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

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

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

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

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

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

Операции генерации

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

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

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

Операции над множествами

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

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

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

равенство

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

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

оператор Описание Синтаксис выражения запроса C # VB Query Expression Syntax
SequenceEqual Получает логическое значение, если две последовательности идентичны друг другу Непригодный Непригодный

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

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

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