Фильтрация данных в C# с помощью LINQ
Фильтрация — это операция по ограничению значений в результирующем наборе только элементами, соответствующими указанному условию. Он также называется выбором элементов, которые соответствуют указанному условию.
На следующем рисунке показаны результаты операции фильтрации последовательности символов. Предикат для операции фильтрации указывает, что символ должен быть "A".
Стандартные методы оператора запроса, выполняющие выбор, перечислены в следующей таблице:
Имя метода | Description | Синтаксис выражения запроса 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
*/
См. также
- System.Linq
- предложение where
- Практическое руководство. Выполнение запроса к метаданным сборки при помощи отражения (LINQ) (C#)
- Практическое руководство. Запрос файлов с указанными атрибутами или именем (C#)
- Практическое руководство. Сортировка или фильтрация текстовых данных по любому слову или полю (LINQ) (C#)
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по