Share via


Filtrera data i C# med LINQ

Filtrering syftar på att begränsa resultatuppsättningen till att endast innehålla de element som uppfyller ett angivet villkor. Det kallas även för att välja element som matchar det angivna villkoret.

Följande bild visar resultatet av filtrering av en sekvens med tecken. Predikatet för filtreringsåtgärden anger att tecknet måste vara "A".

Diagram som visar en LINQ-filtreringsåtgärd

Standardmetoderna för frågeoperatorer som utför markeringen visas i följande tabell:

Metodnamn beskrivning Syntax för C#-frågeuttryck Mer information
OfType Väljer värden, beroende på deras förmåga att omvandlas till en angiven typ. Ej tillämpbart. Enumerable.OfType

Queryable.OfType
Där Väljer värden som baseras på en predikatfunktion. where Enumerable.Where

Queryable.Where

I följande exempel används where -satsen för att filtrera från en matris de strängar som har en specifik längd.

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

Motsvarande fråga med metodsyntax visas i följande kod:

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

Se även