Auf Englisch lesen

Teilen über


Queryable.Max Methode

Definition

Überlädt

Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>)

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

Max<TSource>(IQueryable<TSource>)

Gibt den Höchstwert in einem generischen IQueryable<T> zurück.

Max<TSource>(IQueryable<TSource>, IComparer<TSource>)

Gibt den Höchstwert in einem generischen IQueryable<T> zurück.

Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

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

C#
public static TResult Max<TSource,TResult> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,TResult>> selector);
C#
public static TResult? Max<TSource,TResult> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,TResult>> selector);

Typparameter

TSource

Der Typ der Elemente von source.

TResult

Der Typ des Werts, der von der durch selector dargestellten Funktion zurückgegeben wird.

Parameter

source
IQueryable<TSource>

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

selector
Expression<Func<TSource,TResult>>

Eine Projektionsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

TResult

Der Höchstwert in der Sequenz.

Ausnahmen

source oder selector ist null.

source enthält keine Elemente.

Beispiele

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

C#
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.
*/

Hinweise

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 Lambdaausdruck übergeben, der zu einem Expression<TDelegate>kompiliert wird.

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

Das Abfrageverhalten, das beim Ausführen einer Ausdrucksstruktur auftritt, die den Aufruf Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) darstellt, hängt von der Implementierung des Typs des source Parameters ab. Das erwartete Verhalten besteht darin, dass es für jedes Element in source aufruft selector und den Maximalwert zurückgibt.

Gilt für:

.NET 9 und andere Versionen
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 2.0, 2.1
UWP 10.0

Max<TSource>(IQueryable<TSource>)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Gibt den Höchstwert in einem generischen IQueryable<T> zurück.

C#
public static TSource Max<TSource> (this System.Linq.IQueryable<TSource> source);
C#
public static TSource? Max<TSource> (this System.Linq.IQueryable<TSource> source);

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IQueryable<TSource>

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

Gibt zurück

TSource

Der Höchstwert in der Sequenz.

Ausnahmen

source ist null.

source enthält keine Elemente.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Max<TSource>(IQueryable<TSource>) der Maximalwert in einer Sequenz bestimmt wird.

C#
List<long> longs = new List<long> { 4294967296L, 466855135L, 81125L };

long max = longs.AsQueryable().Max();

Console.WriteLine("The largest number is {0}.", max);

/*
    This code produces the following output:

    The largest number is 4294967296.
*/

Hinweise

Die Max<TSource>(IQueryable<TSource>) -Methode generiert eine MethodCallExpression , die den Aufruf Max<TSource>(IQueryable<TSource>) selbst als konstruierte generische Methode darstellt. Anschließend übergibt es die MethodCallExpression an die Execute<TResult>(Expression) -Methode von, die IQueryProvider durch die Provider -Eigenschaft des source Parameters dargestellt wird.

Das Abfrageverhalten, das beim Ausführen einer Ausdrucksstruktur auftritt, die den Aufruf Max<TSource>(IQueryable<TSource>) darstellt, hängt von der Implementierung des Typs des source Parameters ab. Das erwartete Verhalten besteht darin, dass der Maximalwert in sourcezurückgegeben wird.

Gilt für:

.NET 9 und andere Versionen
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 2.0, 2.1
UWP 10.0

Max<TSource>(IQueryable<TSource>, IComparer<TSource>)

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Gibt den Höchstwert in einem generischen IQueryable<T> zurück.

C#
public static TSource? Max<TSource> (this System.Linq.IQueryable<TSource> source, System.Collections.Generic.IComparer<TSource>? comparer);

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IQueryable<TSource>

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

comparer
IComparer<TSource>

Der IComparer<T> zum Vergleichen von Werten

Gibt zurück

TSource

Der Höchstwert in der Sequenz.

Ausnahmen

source ist null

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET 6, 7, 8, 9