Freigeben über


Queryable.Max Methode

Definition

Überlädt

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

Ruft eine Projektionsfunktion für jedes Element eines generischen IQueryable<T> Elements auf und gibt den maximal resultierenden Wert zurück.

Max<TSource>(IQueryable<TSource>)

Gibt den Maximalwert in einem generischen IQueryable<T>Wert zurück.

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

Gibt den Maximalwert in einem generischen IQueryable<T>Wert zurück.

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

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

Ruft eine Projektionsfunktion für jedes Element eines generischen IQueryable<T> Elements auf und gibt den maximal resultierenden Wert 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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
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
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
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 funktion zurückgegeben wird, die durch selector.

Parameter

source
IQueryable<TSource>

Eine Abfolge von Werten, um das Maximum zu bestimmen.

selector
Expression<Func<TSource,TResult>>

Eine Projektionsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

TResult

Der Maximalwert in der Sequenz.

Attribute

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 Abfolge projizierter Werte ermittelt wird.

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 Typparameter Expression<TDelegate> , dessen Typargument einer der Func<T,TResult> Typen ist. Für diese Parameter können Sie einen Lambda-Ausdruck übergeben und zu einem Expression<TDelegate>.

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 wird die MethodCallExpression Methode der Execute<TResult>(Expression)IQueryProvider durch die Provider Eigenschaft des source Parameters dargestellten Methode übergeben.

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

Gilt für:

Max<TSource>(IQueryable<TSource>)

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

Gibt den Maximalwert in einem generischen IQueryable<T>Wert 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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static TSource? Max<TSource>(this System.Linq.IQueryable<TSource> source);
static member Max : System.Linq.IQueryable<'Source> -> 'Source
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
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 Abfolge von Werten, um das Maximum zu bestimmen.

Gibt zurück

TSource

Der Maximalwert in der Sequenz.

Attribute

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.

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 den Aufruf Max<TSource>(IQueryable<TSource>) selbst als konstruierte generische Methode darstellt. Anschließend wird die MethodCallExpression Methode der Execute<TResult>(Expression)IQueryProvider durch die Provider Eigenschaft des source Parameters dargestellten Methode übergeben.

Das Abfrageverhalten, das als Ergebnis der Ausführung einer Ausdrucksstruktur auftritt, die aufruft Max<TSource>(IQueryable<TSource>) , hängt von der Implementierung des Typs des source Parameters ab. Das erwartete Verhalten besteht darin, dass der Maximalwert in source.

Gilt für:

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

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

Gibt den Maximalwert in einem generischen IQueryable<T>Wert 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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
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
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
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 Abfolge von Werten, um den Maximalwert zu bestimmen.

comparer
IComparer<TSource>

Der IComparer<T> zu vergleichende Wert.

Gibt zurück

TSource

Der Maximalwert in der Sequenz.

Attribute

Ausnahmen

source ist null.

Gilt für: