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>>)

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

public:
generic <typename TSource, typename TResult>
[System::Runtime::CompilerServices::Extension]
 static TResult Max(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, TResult> ^> ^ selector);
public static TResult Max<TSource,TResult> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,TResult>> selector);
public static TResult? Max<TSource,TResult> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,TResult>> selector);
static member Max : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, 'Result>> -> 'Result
<Extension()>
Public Function Max(Of TSource, TResult) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, TResult))) As TResult

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>>) Sie den maximalen Wert in einer Sequenz von projizierten Werten bestimmen.

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.
*/
Structure Pet
    Public Name As String
    Public Age As Integer
End Structure

Shared Sub MaxEx2()
    Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8}, _
                   New Pet With {.Name = "Boots", .Age = 4}, _
                   New Pet With {.Name = "Whiskers", .Age = 1}}

    ' Add Pet.Age to the length of Pet.Name
    ' to determine the "maximum" Pet object in the array.
    Dim max As Integer = _
        pets.AsQueryable().Max(Function(pet) pet.Age + pet.Name.Length)

    MsgBox(String.Format("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, dessen Typargument Expression<TDelegate> eine der Func<T,TResult> Typen ist. Für diese Parameter können Sie einen Lambdaausdruck übergeben und an einen Expression<TDelegate>.

Die Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) Methode generiert eine MethodCallExpression , die das Aufrufen Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) selbst als konstruierte generische Methode darstellt. Anschließend wird die MethodCallExpression Methode IQueryProvider des dargestellten Objekts durch die Execute<TResult>(Expression) Provider Eigenschaft des source Parameters übergeben.

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

Gilt für

Max<TSource>(IQueryable<TSource>)

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

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static TSource Max(System::Linq::IQueryable<TSource> ^ source);
public static TSource Max<TSource> (this System.Linq.IQueryable<TSource> source);
public static TSource? Max<TSource> (this System.Linq.IQueryable<TSource> source);
static member Max : System.Linq.IQueryable<'Source> -> 'Source
<Extension()>
Public Function Max(Of TSource) (source As IQueryable(Of TSource)) As TSource

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>) Sie den maximalen Wert in einer Sequenz bestimmen.

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.
*/
Dim longs As New List(Of Long)(New Long() {4294967296L, 466855135L, 81125L})

Dim max As Long = longs.AsQueryable().Max()

MsgBox(String.Format("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 das Aufrufen Max<TSource>(IQueryable<TSource>) selbst als konstruierte generische Methode darstellt. Anschließend wird die MethodCallExpression Methode IQueryProvider des dargestellten Objekts durch die Execute<TResult>(Expression) Provider Eigenschaft des source Parameters übergeben.

Das Abfrageverhalten, das aufgrund der Ausführung einer Ausdrucksstruktur auftritt, die aufruft, hängt von der Implementierung des Typs Max<TSource>(IQueryable<TSource>) des source Parameters ab. Das erwartete Verhalten besteht darin, dass er den maximalen Wert zurückgibt source.

Gilt für

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

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

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static TSource Max(System::Linq::IQueryable<TSource> ^ source, System::Collections::Generic::IComparer<TSource> ^ comparer);
public static TSource? Max<TSource> (this System.Linq.IQueryable<TSource> source, System.Collections.Generic.IComparer<TSource>? comparer);
static member Max : System.Linq.IQueryable<'Source> * System.Collections.Generic.IComparer<'Source> -> 'Source
<Extension()>
Public Function Max(Of TSource) (source As IQueryable(Of TSource), comparer As IComparer(Of TSource)) As TSource

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