(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Enumerable.Aggregate<TSource, TAccumulate>-Methode (IEnumerable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>)

Wendet eine Akkumulatorfunktion auf eine Sequenz an. Der angegebene Startwert wird als erster Akkumulatorwert verwendet.

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

public static TAccumulate Aggregate<TSource, TAccumulate>(
	this IEnumerable<TSource> source,
	TAccumulate seed,
	Func<TAccumulate, TSource, TAccumulate> func
)

Typparameter

TSource

Der Typ der Elemente von source.

TAccumulate

Der Typ des Akkumulatorwerts.

Parameter

source
Typ: System.Collections.Generic.IEnumerable<TSource>
Ein IEnumerable<T>, das aggregiert werden soll.
seed
Typ: TAccumulate
Der erste Akkumulatorwert.
func
Typ: System.Func<TAccumulate, TSource, TAccumulate>
Eine Akkumulatorfunktion, die für jedes Element aufgerufen werden soll.

Rückgabewert

Typ: TAccumulate
Der letzte Akkumulatorwert.

Hinweis zur Verwendung

In Visual Basic und C# können Sie diese Methode als Instanzenmethode für ein beliebiges Objekt vom Typ IEnumerable<TSource> aufrufen. Bei Verwendung der Syntax für Instanzenmethoden lassen Sie den ersten Parameter aus. Weitere Informationen finden Sie unter Erweiterungsmethoden (Visual Basic) und Erweiterungsmethoden (C#-Programmierhandbuch).

AusnahmeBedingung
ArgumentNullException

source oder func ist null.

Mit der Aggregate<TSource, TAccumulate>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>)-Methode lassen sich Berechnungen für eine Sequenz von Werten auf einfache Weise durchführen. Diese Methode ruft für jedes Element in source einmal func auf. Bei jedem Aufruf von func übergibt Aggregate<TSource, TAccumulate>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>) das Element aus der Sequenz und einen Aggregatwert (als erstes Argument für func). Der Wert des seed-Parameters wird als erster Aggregatwert verwendet. Das Ergebnis von func ersetzt den vorherigen Aggregatwert. Aggregate<TSource, TAccumulate>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>) gibt das Endergebnis von func zurück.

Um häufige Aggregationsoperationen zu vereinfachen, enthalten die Standardabfrageoperatoren auch die allgemeine Zählmethode Count sowie vier numerische Aggregationsmethoden, und zwar Min, Max, Sum und Average.

Im folgenden Codebeispiel wird veranschaulicht, wie mithilfe von Aggregate eine Akkumulatorfunktion angewendet und ein Startwert verwendet wird.


            int[] ints = { 4, 8, 8, 3, 9, 0, 7, 8, 2 };

            // Count the even numbers in the array, using a seed value of 0.
            int numEven = ints.Aggregate(0, (total, next) =>
                                                next % 2 == 0 ? total + 1 : total);

            Console.WriteLine("The number of even integers is: {0}", numEven);

            // This code produces the following output:
            //
            // The number of even integers is: 6 



.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft