App di Windows
Comprimi il sommario
Espandi il sommario
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale
Informazioni
L'argomento richiesto è visualizzato di seguito, ma non è incluso in questa libreria.

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

 

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

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

predicate

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 per il predicato specificato o se la sequenza è vuota; in caso contrario, false.

Parametri di tipo

TSource

Tipo degli elementi di source.

Exception Condition
ArgumentNullException

Il parametro source o predicate è null.

System_CAPS_noteNota

Questo metodo non restituisce tutti gli elementi di una raccolta.Determina invece se tutti gli elementi di una raccolta soddisfanno una condizione.

L'enumerazione di source viene interrotta appena il risultato può essere determinato.

Nella sintassi di una espressione di query in Visual Basic, una clausola Aggregate Into All() viene convertita in una chiamata di All<TSource>.

Nell'esempio di codice seguente viene illustrato come utilizzare All<TSource> per determinare se tutti gli elementi in una sequenza soddisfano una condizione.La variabile allStartWithB è true se tutti i nomi di animale domestico iniziano con "B" o se la matrice pets è 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 metodo All<TSource> restituisce viene utilizzato in genere nel predicato di una clausola where (clausola Where in Visual Basic) o di una chiamata diretta al metodo Where<TSource>.Nell'esempio seguente viene illustrato questo utilizzo del metodo All.

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 4.5
.NET Framework
Disponibile da 3.5
Portable Class Library
Supportato in: portable .NET platforms
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra:
© 2016 Microsoft