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

Queryable.Max<TSource, TResult>-Methode: (IQueryable<TSource>, Expression<Func<TSource, TResult>>)

 

Veröffentlicht: Oktober 2016

Ruft eine Projektionsfunktion für jedes Element einer generischen IQueryable<T> und gibt den höchsten Ergebniswert zurück.

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

public static TResult Max<TSource, TResult>(
	this IQueryable<TSource> source,
	Expression<Func<TSource, TResult>> selector
)

Parameter

source
Type: System.Linq.IQueryable<TSource>

Eine Sequenz von Werten, die den Höchstwert bestimmt werden soll.

selector
Type: System.Linq.Expressions.Expression<Func<TSource, TResult>>

Eine Projektionsfunktion auf jedes Element angewendet werden soll.

Rückgabewert

Type: TResult

Der Höchstwert in der Sequenz.

Typparameter

TSource

Der Typ der Elemente von source.

TResult

Der Typ des Rückgabewerts, die von der Funktion als selector.

Exception Condition
ArgumentNullException

source oder selector ist null.

Diese Methode verfügt über mindestens einen Parameter vom Typ Expression<TDelegate> deren Typargument ist eines der Func<T, TResult> Typen. Für diese Parameter können Sie einen Lambda-Ausdruck übergeben, und es werden kompiliert, um eine Expression<TDelegate>.

Die Max<TSource, TResult>(IQueryable<TSource>, Expression<Func<TSource, TResult>>) -Methode generiert eine MethodCallExpression Aufruf darstellt Max<TSource, TResult>(IQueryable<TSource>, Expression<Func<TSource, TResult>>) sich selbst als konstruierte generische Methode. Anschließend übergibt der MethodCallExpression zu der Execute<TResult>(Expression) Methode der IQueryProvider durch dargestellt die Provider Eigenschaft der source Parameter.

Das Abfrageverhalten durch das Ausführen einer Ausdrucksbaumstruktur, die aufrufende darstellt, Max<TSource, TResult>(IQueryable<TSource>, Expression<Func<TSource, TResult>>) hängt von der Implementierung des Typs der source Parameter. Das erwartete Verhalten ist, ruft selector für jedes Element in source und gibt den Höchstwert zurück.

Im folgenden Codebeispiel wird veranschaulicht, wie Sie Max<TSource, TResult>(IQueryable<TSource>, Expression<Func<TSource, TResult>>) der Höchstwert in einer Sequenz von projizierten Werten bestimmt.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void MaxEx2()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    // Add Pet.Age to the length of Pet.Name
    // to determine the "maximum" Pet object in the array.
    int max =
        pets.AsQueryable().Max(pet => pet.Age + pet.Name.Length);

    Console.WriteLine(
        "The maximum pet age plus name length is {0}.",
        max);
}

/*
    This code produces the following output:

    The maximum pet age plus name length is 14.
*/

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.1
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: