Filtrar datos en C# con LINQ

El filtrado hace referencia a la operación de restringir el conjunto de resultados, de manera que solo contenga los elementos que cumplen una condición especificada. También se conoce como seleccionar elementos que coinciden con la condición especificada.

En la ilustración siguiente se muestran los resultados de filtrar una secuencia de caracteres. El predicado de la operación de filtrado especifica que el carácter debe ser "A".

Diagrama que muestra una operación de filtrado en LINQ

Los métodos del operador de consulta estándar que realizan selecciones se indican en la sección siguiente.

Nombre del método Descripción Sintaxis de la expresión de consulta de C# Más información
OfType Selecciona valores en función de su capacidad para convertirse en un tipo especificado. No es aplicable. Enumerable.OfType

Queryable.OfType
Where Selecciona valores basados en una función de predicado. where Enumerable.Where

Queryable.Where

En el siguiente ejemplo se usa la cláusula where para filtrar de una matriz aquellas cadenas que tienen una longitud específica.

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

La consulta equivalente mediante la sintaxis del método se muestra en el código siguiente:

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

Consulte también