Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Enumerable.All<TSource>-Methode: (IEnumerable<TSource>, Func<TSource, Boolean>)

 

Veröffentlicht: Oktober 2016

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

Namespace:   System.Linq
Assembly:  System.Core (in System.Core.dll)

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

Parameter

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

Ein IEnumerable<T> enthält die Elemente, die das Prädikat angewendet.

predicate
Type: System.Func<TSource, Boolean>

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

Rückgabewert

Type: System.Boolean

true jedes Element der Quellsequenz im angegebenen Prädikat wird oder wenn die Sequenz leer ist; andernfalls false.

Typparameter

TSource

Der Typ der Elemente von source.

Exception Condition
ArgumentNullException

source oder predicate ist null.

System_CAPS_noteHinweis

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

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

In Visual Basic Abfragen Ausdruckssyntax, ein Aggregate Into All() -Klausel übersetzt in einen Aufruf von All<TSource>.

Im folgenden Codebeispiel wird veranschaulicht, wie Sie All<TSource> zu bestimmen, ob alle Elemente in einer Sequenz eine Bedingung erfüllen. Variable allStartWithB ist true, wenn alle Pet-Namen mit "B" beginnen oder die pets Array ist leer.

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, der die All<TSource> Methodenrückgabe wird i. d. r. im Prädikat verwendet eine where -Klausel (Where -Klausel in Visual Basic) oder einen direkten Aufruf der Where<TSource> Methode. Das folgende Beispiel zeigt diese Verwendung von der All Methode.

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

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 3.5
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: