Queryable.Max Metoda

Definice

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é IQueryable<T>hodnotě .

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

Vrátí maximální hodnotu v obecné IQueryable<T>hodnotě .

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.

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ů source.

TResult

Typ hodnoty vrácené funkcí reprezentovanou funkcí selector.

Parametry

source
IQueryable<TSource>

Posloupnost hodnot k určení maximálního počtu hodnot.

selector
Expression<Func<TSource,TResult>>

Projekční funkce, která se použije u každého prvku.

Návraty

TResult

Maximální hodnota v posloupnosti.

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 a bude zkompilován do Expression<TDelegate>.

Tato Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) metoda vygeneruje MethodCallExpression volání Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) jako vytvořenou obecnou metodu. Pak předá MethodCallExpression metodu IQueryProvider Execute<TResult>(Expression) reprezentované Provider vlastností parametrusource.

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í spočívá v tom, že se vyvolá selector u každého prvku a source vrátí maximální hodnotu.

Platí pro

Max<TSource>(IQueryable<TSource>)

Vrátí maximální hodnotu v obecné IQueryable<T>hodnotě .

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ů source.

Parametry

source
IQueryable<TSource>

Posloupnost hodnot k určení maximálního počtu hodnot.

Návraty

TSource

Maximální hodnota v posloupnosti.

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 posloupnosti.

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

Tato Max<TSource>(IQueryable<TSource>) metoda vygeneruje MethodCallExpression volání Max<TSource>(IQueryable<TSource>) jako vytvořenou obecnou metodu. Pak předá MethodCallExpression metodu IQueryProvider Execute<TResult>(Expression) reprezentované Provider vlastností parametrusource.

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

Vrátí maximální hodnotu v obecné IQueryable<T>hodnotě .

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ů source.

Parametry

source
IQueryable<TSource>

Posloupnost hodnot k určení maximální hodnoty.

comparer
IComparer<TSource>

Porovnávání IComparer<T> hodnot.

Návraty

TSource

Maximální hodnota v posloupnosti.

Výjimky

source je null.

Platí pro