Queryable.Max Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ü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.
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
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.
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 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:
Max<TSource>(IQueryable<TSource>)
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
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
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.
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 ü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 source
zurückgegeben wird.
Gilt für:
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.
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
Der Höchstwert in der Sequenz.
Ausnahmen
source
ist null