Auf Englisch lesen

Freigeben über


Enumerable.All<TSource> Methode

Definition

Bestimmt, ob alle Elemente einer Sequenz eine Bedingung erfüllen.

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

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

Ein IEnumerable<T>, das die Elemente enthält, auf die das Prädikat angewendet werden soll

predicate
Func<TSource,Boolean>

Eine Funktion, mit der jedes Element auf eine Bedingung überprüft wird.

Gibt zurück

true, wenn jedes Element der Quellsequenz im angegebenen Prädikat erfolgreich überprüft wird oder wenn die Sequenz leer ist, andernfalls false.

Ausnahmen

source oder predicate ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie sie verwenden All , um zu bestimmen, ob alle Elemente in einer Sequenz eine Bedingung erfüllen. Die Variable allStartWithB ist true, wenn alle Haustiernamen mit "B" beginnen oder das pets Array leer ist.

C#
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'.

Der boolesche Wert, den die All Methode zurückgibt, wird in der Regel im Prädikat einer where -Klausel (Where -Klausel in Visual Basic) oder einem direkten Aufruf der Where -Methode verwendet. Im folgenden Beispiel wird diese Verwendung der All -Methode veranschaulicht.

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

Hinweise

Hinweis

Diese Methode gibt nicht alle Elemente einer Auflistung zurück. Stattdessen wird bestimmt, ob alle Elemente einer Auflistung eine Bedingung erfüllen.

Die Enumeration von source wird beendet, sobald das Ergebnis ermittelt werden kann.

In der Visual Basic-Abfrageausdruckssyntax wird eine Aggregate Into All() -Klausel in einen Aufruf von Allübersetzt.

Gilt für:

Produkt Versionen
.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

Weitere Informationen