Метод Where
Метод Where класса Enumerable оставляет элементы, для которых предикат истинен. Список-источник не изменяется.
Синтаксис
IEnumerable<T> query = source.Where(x => condition);
Пример
Давайте оставим числа больше 3:
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
List<int> nums = new List<int> {1, 2, 3, 4, 5};
var res = nums.Where(n => n > 3);
Console.WriteLine(string.Join(" ", res.ToList()));
}
}
Результат выполнения кода:
"4 5"
Пример
Давайте отфильтруем строки длиной 1:
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
List<string> items = new List<string> {"a", "b", "c", "d", "e"};
var res = items.Where(s => s.Length == 1);
Console.WriteLine(res.Count());
}
}
Результат выполнения кода:
5
Смотрите также
-
метод
Select,
который преобразует каждый элемент -
метод
ToList,
который собирает результат в список -
метод
OrderBy,
который упорядочивает по ключу -
отложенное выполнение,
когда запрос реально обходит источник