Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Фильтрация относится к операции ограничения результирующих наборов только теми элементами, которые удовлетворяют указанному условию. Он также называется выбором элементов, которые соответствуют указанному условию.
Это важно
В этих примерах используется System.Collections.Generic.IEnumerable<T> источник данных. Источники данных, основанные на System.Linq.IQueryProvider, используют System.Linq.IQueryable<T> источники данных и деревья выражений. Деревья выражений имеют ограничения на допустимый синтаксис C#. Кроме того, каждый IQueryProvider источник данных, например EF Core , может наложить больше ограничений. Ознакомьтесь с документацией по источнику данных.
На следующем рисунке показаны результаты фильтрации последовательности символов. Предикат для операции фильтрации указывает, что символ должен быть "A".
Стандартные методы оператора запроса, выполняющие выбор, перечислены в следующей таблице:
| Имя метода | Описание | Синтаксис выражения запроса C# | Дополнительная информация |
|---|---|---|---|
| OfType | Выбирает значения в зависимости от их возможности приведения к указанному типу. | Неприменимо. | Enumerable.OfType Queryable.OfType |
| Где | Выбирает значения, основанные на функции предиката. | where |
Enumerable.Where Queryable.Where |
Используется оператор where, чтобы отфильтровать из массива строки, имеющие определенную длину.
Замечание
Общие источники данных для этой области см. в статье "Обзор операторов стандартных запросов ".
string[] words = ["the", "quick", "brown", "fox", "jumps"];
IEnumerable<string> query = from word in words
where word.Length == 3
select word;
foreach (string str in query)
{
Console.WriteLine(str);
}
/* This code produces the following output:
the
fox
*/
Эквивалентный запрос с использованием синтаксиса метода показан в следующем коде:
string[] words = ["the", "quick", "brown", "fox", "jumps"];
IEnumerable<string> query =
words.Where(word => word.Length == 3);
foreach (string str in query)
{
Console.WriteLine(str);
}
/* This code produces the following output:
the
fox
*/