(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

Queryable.Average<TSource>-Methode (IQueryable<TSource>, Expression<Func<TSource, Nullable<Single>>>)

Berechnet den Durchschnitt einer Sequenz von Single-Werten, die NULL zulassen, die durch den Aufruf einer Projektionsfunktion für jedes Element der Eingabesequenz ermittelt wird.

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

public static Nullable<float> Average<TSource>(
	this IQueryable<TSource> source,
	Expression<Func<TSource, Nullable<float>>> selector
)

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
Typ: System.Linq.IQueryable<TSource>
Eine Sequenz von Werten, deren Durchschnitt berechnet werden soll.
selector
Typ: System.Linq.Expressions.Expression<Func<TSource, Nullable<Single>>>
Eine Projektionsfunktion, die auf jedes Element angewendet werden soll.

Rückgabewert

Typ: System.Nullable<Single>
Der Durchschnitt der Sequenz von Werten oder null, wenn die source-Sequenz leer ist oder nur null-Werte enthält.

Hinweis zur Verwendung

In Visual Basic und C# können Sie diese Methode als Instanzenmethode für ein beliebiges Objekt vom Typ IQueryable<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 selector ist null.

Diese Methode verfügt über mindestens einen Parameter vom Typ Expression<TDelegate>, dessen Typargument einer der Func<T, TResult>-Typen ist. Für diese Parameter können Sie einen Lambda-Ausdruck übergeben, und dieser wird zu einer Expression<TDelegate> kompiliert.

Die Average<TSource>(IQueryable<TSource>, Expression<Func<TSource, Nullable<Single>>>)-Methode generiert einen MethodCallExpression, der den Aufruf von Average<TSource>(IQueryable<TSource>, Expression<Func<TSource, Nullable<Single>>>) durch sich selbst als konstruierte generische Methode darstellt. Anschließend übergibt sie die MethodCallExpression an die Execute<TResult>(Expression)-Methode des IQueryProvider, der von der Provider-Eigenschaft des source-Parameters dargestellt wird.

Das Abfrageverhalten, das durch das Ausführen einer Ausdrucksbaumstruktur auftritt, die einen Aufruf von Average<TSource>(IQueryable<TSource>, Expression<Func<TSource, Nullable<Single>>>) darstellt, hängt von der Implementierung des Typs des source-Parameters ab. Es wird erwartet, dass der Durchschnitt der Werte in source berechnet wird, nachdem für jeden Wert selector aufgerufen wurde.

Im folgenden Codebeispiel wird veranschaulicht, wie mit Average<TSource>(IQueryable<TSource>, Expression<Func<TSource, Int32>>) die durchschnittliche String-Länge einer Sequenz von Werten vom Typ String berechnet wird.

HinweisHinweis

Dieses Codebeispiel verwendet eine Überladung dieser überladenen Methode, die von der speziellen Überladung, wie sie in diesem Thema beschrieben wird, abweicht. Um das Beispiel für dieses Thema zu erweitern, ändern Sie den Text der selector-Funktion.


            string[] fruits = { "apple", "banana", "mango", "orange", "passionfruit", "grape" };

            // Determine the average string length in the array.
            double average = fruits.AsQueryable().Average(s => s.Length);

            Console.WriteLine("The average string length is {0}.", average);

            // This code produces the following output:
            //
            // The average string length is 6.5. 



.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