Filtrowanie danych w języku C# przy użyciu linQ

Filtrowanie odwołuje się do operacji ograniczania zestawu wyników tak, aby zawierała tylko te elementy, które spełniają określony warunek. Jest on również określany jako wybieranie elementów, które pasują do określonego warunku.

Poniższa ilustracja przedstawia wyniki filtrowania sekwencji znaków. Predykat operacji filtrowania określa, że znak musi mieć wartość "A".

Diagram przedstawiający operację filtrowania LINQ

Standardowe metody operatorów zapytań, które wykonują wybór, są wymienione w poniższej tabeli:

Nazwa metody opis Składnia wyrażeń zapytań języka C# Więcej informacji
Oftype Wybiera wartości, w zależności od ich możliwości rzutowania do określonego typu. Nie dotyczy. Enumerable.OfType

Queryable.OfType
Gdzie Wybiera wartości oparte na funkcji predykatu. where Enumerable.Where

Queryable.Where

W poniższym przykładzie użyto klauzuli where do filtrowania z tablicy tych ciągów o określonej długości.

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
*/

Równoważne zapytanie używające składni metody jest wyświetlane w następującym kodzie:

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
*/

Zobacz też