Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Enumerable.All<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>)

 

Data di pubblicazione: novembre 2016

Determina se tutti gli elementi di una sequenza soddisfano una condizione.

Spazio dei nomi:   System.Linq
Assembly:  System.Core (in System.Core.dll)

public static bool All<TSource>(
	this IEnumerable<TSource> source,
	Func<TSource, bool> predicate
)

Parametri

source
Type: System.Collections.Generic.IEnumerable<TSource>

Un IEnumerable<T> che contiene gli elementi a cui applicare il predicato.

predicate
Type: System.Func<TSource, Boolean>

Funzione per testare ogni elemento rispetto a una condizione.

Valore restituito

Type: System.Boolean

true Se ogni elemento della sequenza di origine supera il test nel predicato specificato o se la sequenza è vuota. in caso contrario, false.

Parametri tipo

TSource

Tipo degli elementi di source.

Exception Condition
ArgumentNullException

source o predicate è null.

System_CAPS_noteNota

Questo metodo non restituisce tutti gli elementi di una raccolta. Invece, determina se tutti gli elementi di una raccolta soddisfano una condizione.

L'enumerazione di source viene arrestato, non appena il risultato può essere determinato.

In Visual Basic sintassi dell'espressione di query un Aggregate Into All() clausola viene convertita in una chiamata di All<TSource>.

Esempio di codice seguente viene illustrato come utilizzare All<TSource> per determinare se tutti gli elementi in una sequenza soddisfano una condizione. Variabile allStartWithB è true se tutti i nomi di pet iniziano con "B" o se il pets matrice è vuota.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void AllEx()
{
    // Create an array of Pets.
    Pet[] pets = { new Pet { Name="Barley", Age=10 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=6 } };

    // Determine whether all pet names 
    // in the array start with 'B'.
    bool allStartWithB = pets.All(pet =>
                                      pet.Name.StartsWith("B"));

    Console.WriteLine(
        "{0} pet names start with 'B'.",
        allStartWithB ? "All" : "Not all");
}

// This code produces the following output:
//
//  Not all pet names start with 'B'. 

Il valore booleano che il All<TSource> restituisce in genere viene utilizzato nel predicato di un where clausola (Where clausola Visual Basic) o una chiamata diretta al Where<TSource> metodo. Nell'esempio seguente viene illustrato l'utilizzo di All metodo.

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 AllEx2()
{
    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 Pet { Name = "Belle", Age = 8} }},
          new Person { LastName = "Philips",
                       Pets = new Pet[] { new Pet { Name = "Sweetie", Age = 2},
                                          new Pet { Name = "Rover", Age = 13}} }
        };

    // Determine which people have pets that are all older than 5.
    IEnumerable<string> names = from person in people
                                where person.Pets.All(pet => pet.Age > 5)
                                select person.LastName;

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

    /* This code produces the following output:
     * 
     * Haas
     * Antebi
     */
}

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 3.5
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: