Queryable.Max Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přetížení
Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) |
Vyvolá funkci projekce pro každý prvek obecného IQueryable<T> objektu a vrátí maximální výslednou hodnotu. |
Max<TSource>(IQueryable<TSource>) |
Vrátí maximální hodnotu v obecném IQueryable<T>argumentu . |
Max<TSource>(IQueryable<TSource>, IComparer<TSource>) |
Vrátí maximální hodnotu v obecném IQueryable<T>argumentu . |
Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vyvolá funkci projekce pro každý prvek obecného IQueryable<T> objektu a vrátí maximální výslednou hodnotu.
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
Parametry typu
- TSource
Typ prvků objektu source
.
- TResult
Typ hodnoty vrácené funkcí reprezentovanou selector
funkcí .
Parametry
- source
- IQueryable<TSource>
Posloupnost hodnot k určení maximální hodnoty.
- selector
- Expression<Func<TSource,TResult>>
Projekční funkce, která se použije u každého prvku.
Návraty
Maximální hodnota v sekvenci
Výjimky
source
nebo selector
je null
.
source
neobsahuje žádné prvky.
Příklady
Následující příklad kódu ukazuje, jak použít Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) k určení maximální hodnoty v posloupnosti projektovaných hodnot.
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.
Poznámky
Tato metoda má alespoň jeden parametr typu Expression<TDelegate> , jehož argument typu je jedním z Func<T,TResult> typů. Pro tyto parametry můžete předat výraz lambda, který se zkompiluje do Expression<TDelegate>.
Metoda Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) vygeneruje MethodCallExpression , který představuje volání Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) sebe sama jako konstruované obecné metody. Pak předá MethodCallExpressionExecute<TResult>(Expression) metodě parametru IQueryProvider reprezentované Provider vlastností source
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazu, který představuje volání Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) , závisí na implementaci typu parametru source
. Očekávané chování je, že vyvolá selector
na každý prvek v source
a vrátí maximální hodnotu.
Platí pro
Max<TSource>(IQueryable<TSource>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vrátí maximální hodnotu v obecném IQueryable<T>argumentu .
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
Parametry typu
- TSource
Typ prvků objektu source
.
Parametry
- source
- IQueryable<TSource>
Posloupnost hodnot k určení maximální hodnoty.
Návraty
Maximální hodnota v sekvenci
Výjimky
source
je null
.
source
neobsahuje žádné prvky.
Příklady
Následující příklad kódu ukazuje, jak použít Max<TSource>(IQueryable<TSource>) k určení maximální hodnoty v sekvenci.
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.
Poznámky
Metoda Max<TSource>(IQueryable<TSource>) vygeneruje MethodCallExpression , který představuje volání Max<TSource>(IQueryable<TSource>) sebe sama jako konstruované obecné metody. Pak předá MethodCallExpressionExecute<TResult>(Expression) metodě parametru IQueryProvider reprezentované Provider vlastností source
.
Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazu, který představuje volání Max<TSource>(IQueryable<TSource>) , závisí na implementaci typu parametru source
. Očekávané chování je, že vrací maximální hodnotu v source
.
Platí pro
Max<TSource>(IQueryable<TSource>, IComparer<TSource>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vrátí maximální hodnotu v obecném IQueryable<T>argumentu .
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
Parametry typu
- TSource
Typ prvků objektu source
.
Parametry
- source
- IQueryable<TSource>
Posloupnost hodnot pro určení maximální hodnoty.
- comparer
- IComparer<TSource>
Chcete-li IComparer<T> porovnat hodnoty.
Návraty
Maximální hodnota v sekvenci
Výjimky
source
je null
.