Leer en inglés

Compartir a través de


Enumerable.Any Método

Definición

Determina si un elemento de una secuencia existe o satisface una condición.

Sobrecargas

Any<TSource>(IEnumerable<TSource>)

Determina si una secuencia contiene elementos.

Any<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Determina si algún elemento de una secuencia satisface una condición.

Any<TSource>(IEnumerable<TSource>)

Source:
AnyAll.cs
Source:
AnyAll.cs
Source:
AnyAll.cs

Determina si una secuencia contiene elementos.

C#
public static bool Any<TSource> (this System.Collections.Generic.IEnumerable<TSource> source);

Parámetros de tipo

TSource

Tipo de los elementos de source.

Parámetros

source
IEnumerable<TSource>

Interfaz IEnumerable<T> que se va a comprobar si está vacía.

Devoluciones

true si la secuencia de origen contiene elementos; de lo contrario, false.

Excepciones

source es null.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar Any para determinar si una secuencia contiene elementos.

C#
List<int> numbers = new List<int> { 1, 2 };
bool hasElements = numbers.Any();

Console.WriteLine("The list {0} empty.",
    hasElements ? "is not" : "is");

// This code produces the following output:
//
// The list is not empty.

El valor booleano que devuelve el Any<TSource>(IEnumerable<TSource>) método se usa normalmente en el predicado de una where cláusula (Where cláusula en Visual Basic) o en una llamada directa al Where<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) método . En el ejemplo siguiente se muestra este uso del Any método .

C#
class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}
class Person
{
    public string LastName { get; set; }
    public Pet[] Pets { get; set; }
}

public static void AnyEx2()
{
    List<Person> people = new List<Person>
        { new Person { LastName = "Haas",
                       Pets = new Pet[] { new Pet { Name="Barley", Age=10 },
                                          new Pet { Name="Boots", Age=14 },
                                          new Pet { Name="Whiskers", Age=6 }}},
          new Person { LastName = "Fakhouri",
                       Pets = new Pet[] { new Pet { Name = "Snowball", Age = 1}}},
          new Person { LastName = "Antebi",
                       Pets = new Pet[] { }},
          new Person { LastName = "Philips",
                       Pets = new Pet[] { new Pet { Name = "Sweetie", Age = 2},
                                          new Pet { Name = "Rover", Age = 13}} }
        };

    // Determine which people have a non-empty Pet array.
    IEnumerable<string> names = from person in people
                                where person.Pets.Any()
                                select person.LastName;

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

    /* This code produces the following output:

       Haas
       Fakhouri
       Philips
    */
}

Comentarios

Nota

Este método no devuelve ningún elemento de una colección. En su lugar, determina si la colección contiene elementos.

La enumeración de source se detiene en cuanto se puede determinar el resultado.

En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Any() cláusula se traduce en una invocación de Any.

Consulte también

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Any<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Source:
AnyAll.cs
Source:
AnyAll.cs
Source:
AnyAll.cs

Determina si algún elemento de una secuencia satisface una condición.

C#
public static bool Any<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,bool> predicate);

Parámetros de tipo

TSource

Tipo de los elementos de source.

Parámetros

source
IEnumerable<TSource>

IEnumerable<T> a cuyos elementos se va a aplicar el predicado.

predicate
Func<TSource,Boolean>

Función para probar cada elemento de una condición.

Devoluciones

true si la secuencia de origen no está vacía y al menos uno de sus elementos pasa la prueba en el predicado especificado; de lo contrario, false.

Excepciones

source o predicate es null.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar Any para determinar si algún elemento de una secuencia cumple una condición.

C#
class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
    public bool Vaccinated { get; set; }
}

public static void AnyEx3()
{
    // Create an array of Pets.
    Pet[] pets =
        { new Pet { Name="Barley", Age=8, Vaccinated=true },
          new Pet { Name="Boots", Age=4, Vaccinated=false },
          new Pet { Name="Whiskers", Age=1, Vaccinated=false } };

    // Determine whether any pets over age 1 are also unvaccinated.
    bool unvaccinated =
        pets.Any(p => p.Age > 1 && p.Vaccinated == false);

    Console.WriteLine(
        "There {0} unvaccinated animals over age one.",
        unvaccinated ? "are" : "are not any");
}

// This code produces the following output:
//
//  There are unvaccinated animals over age one.

Comentarios

Nota

Este método no devuelve ningún elemento de una colección. En su lugar, determina si algún elemento de una colección cumple una condición.

La enumeración de source se detiene en cuanto se puede determinar el resultado.

En la sintaxis de la expresión de consulta de Visual Basic, una Aggregate Into Any() cláusula se traduce en una invocación de Any.

Consulte también

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0