Enumerable.Any Metodo

Definizione

Determina se un qualsiasi elemento di una sequenza esiste o soddisfa una condizione.

Overload

Any<TSource>(IEnumerable<TSource>)

Determina se una sequenza contiene elementi.

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

Determina un qualsiasi elemento di una sequenza soddisfa una condizione.

Any<TSource>(IEnumerable<TSource>)

Origine:
AnyAll.cs
Origine:
AnyAll.cs
Origine:
AnyAll.cs

Determina se una sequenza contiene elementi.

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

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IEnumerable<TSource>

L'oggetto IEnumerable<T> di cui verificare il contenuto.

Restituisce

true se la sequenza di origine contiene elementi; in caso contrario, false.

Eccezioni

source è null.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Any per determinare se una sequenza contiene elementi.

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.

Il valore booleano restituito dal Any<TSource>(IEnumerable<TSource>) metodo viene in genere usato nel predicato di una where clausola (Where clausola in Visual Basic) o una chiamata diretta al Where<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) metodo . Nell'esempio seguente viene illustrato questo uso del Any metodo.

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

Commenti

Nota

Questo metodo non restituisce alcun elemento di una raccolta. Determina invece se la raccolta contiene elementi.

L'enumerazione di source viene arrestata non appena è possibile determinare il risultato.

Nella sintassi dell'espressione di query di Visual Basic, una Aggregate Into Any() clausola si traduce in una chiamata di Any.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.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>)

Origine:
AnyAll.cs
Origine:
AnyAll.cs
Origine:
AnyAll.cs

Determina un qualsiasi elemento di una sequenza soddisfa una condizione.

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

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IEnumerable<TSource>

Oggetto IEnumerable<T> ai cui elementi applicare il predicato.

predicate
Func<TSource,Boolean>

Funzione per testare ogni elemento rispetto a una condizione.

Restituisce

true se la sequenza di origine non è vuota e almeno uno dei relativi elementi supera il test nel predicato specificato. In caso contrario, false.

Eccezioni

source o predicate è null.

Esempio

Nell'esempio di codice seguente viene illustrato come usare Any per determinare se qualsiasi elemento in una sequenza soddisfa una condizione.

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.

Commenti

Nota

Questo metodo non restituisce alcun elemento di una raccolta. Determina invece se tutti gli elementi di una raccolta soddisfano una condizione.

L'enumerazione di source viene arrestata non appena è possibile determinare il risultato.

Nella sintassi dell'espressione di query di Visual Basic, una Aggregate Into Any() clausola si traduce in una chiamata di Any.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.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