Operaciones cuantificadoras (C#)Quantifier Operations (C#)

Las operaciones cuantificadoras devuelven un valor Boolean que indica si algunos o todos los elementos de una secuencia cumplen una condición.Quantifier operations return a Boolean value that indicates whether some or all of the elements in a sequence satisfy a condition.

En la siguiente ilustración se muestran dos operaciones cuantificadoras diferentes en dos secuencias de origen distintas.The following illustration depicts two different quantifier operations on two different source sequences. La primera operación pregunta si uno o varios de los elementos son el carácter "A", y el resultado es true.The first operation asks if one or more of the elements are the character 'A', and the result is true. La segunda operación pregunta si todos los elementos son el carácter "A", y el resultado es true.The second operation asks if all the elements are the character 'A', and the result is true.

Operaciones cuantificadoras en LINQ

Los métodos del operador de consulta estándar que realizan operaciones cuantificadoras se indican en la sección siguiente.The standard query operator methods that perform quantifier operations are listed in the following section.

MétodosMethods

Nombre del métodoMethod Name DescripciónDescription Sintaxis de la expresión de consulta de C#C# Query Expression Syntax Más informaciónMore Information
TodasAll Determina si todos los elementos de una secuencia cumplen una condición.Determines whether all the elements in a sequence satisfy a condition. No es aplicable.Not applicable. Enumerable.All

Queryable.All
CualquieraAny Determina si algunos de los elementos de una secuencia cumplen una condición.Determines whether any elements in a sequence satisfy a condition. No es aplicable.Not applicable. Enumerable.Any

Queryable.Any
ContieneContains Determina si una secuencia contiene un elemento especificado.Determines whether a sequence contains a specified element. No es aplicable.Not applicable. Enumerable.Contains

Queryable.Contains

Ejemplos de sintaxis de expresiones de consultaQuery Expression Syntax Examples

TodasAll

En el ejemplo siguiente se usa All para comprobar que todas las cadenas tienen una longitud específica.The following example uses the All to check that all strings are of a specific length.

class Market
{
    public string Name { get; set; }
    public string[] Items { get; set; }
}

public static void Example()
{
    List<Market> markets = new List<Market>
    {
        new Market { Name = "Emily's", Items = new string[] { "kiwi", "cheery", "banana" } },
        new Market { Name = "Kim's", Items = new string[] { "melon", "mango", "olive" } },
        new Market { Name = "Adam's", Items = new string[] { "kiwi", "apple", "orange" } },
    };

    // Determine which market have all fruit names length equal to 5
    IEnumerable<string> names = from market in markets
                                where market.Items.All(item => item.Length == 5)
                                select market.Name;

    foreach (string name in names)
    {
        Console.WriteLine($"{name} market");
    }

    // This code produces the following output:
    //
    // Kim's market
}

CualquieraAny

En el ejemplo siguiente se usa Any para comprobar que las cadenas se inician con "o".The following example uses the Any to check that any strings are start with 'o'.

class Market
{
    public string Name { get; set; }
    public string[] Items { get; set; }
}

public static void Example()
{
    List<Market> markets = new List<Market>
    {
        new Market { Name = "Emily's", Items = new string[] { "kiwi", "cheery", "banana" } },
        new Market { Name = "Kim's", Items = new string[] { "melon", "mango", "olive" } },
        new Market { Name = "Adam's", Items = new string[] { "kiwi", "apple", "orange" } },
    };

    // Determine which market have any fruit names start with 'o'
    IEnumerable<string> names = from market in markets
                                where market.Items.Any(item => item.StartsWith("o"))
                                select market.Name;

    foreach (string name in names)
    {
        Console.WriteLine($"{name} market");
    }

    // This code produces the following output:
    //
    // Kim's market
    // Adam's market
}

ContieneContains

En el ejemplo siguiente se usa Contains para comprobar que una matriz tenga un elemento específico.The following example uses the Contains to check an array have a specific element.

class Market
{
    public string Name { get; set; }
    public string[] Items { get; set; }
}

public static void Example()
{
    List<Market> markets = new List<Market>
    {
        new Market { Name = "Emily's", Items = new string[] { "kiwi", "cheery", "banana" } },
        new Market { Name = "Kim's", Items = new string[] { "melon", "mango", "olive" } },
        new Market { Name = "Adam's", Items = new string[] { "kiwi", "apple", "orange" } },
    };

    // Determine which market contains fruit names equal 'kiwi'
    IEnumerable<string> names = from market in markets
                                where market.Items.Contains("kiwi")
                                select market.Name;

    foreach (string name in names)
    {
        Console.WriteLine($"{name} market");
    }

    // This code produces the following output:
    //
    // Emily's market
    // Adam's market
}

Vea tambiénSee also