Enumerable.Max Metoda

Definicja

Zwraca wartość maksymalną w sekwencji wartości.

Przeciążenia

Max(IEnumerable<Nullable<Single>>)

Zwraca wartość maksymalną w sekwencji wartości dopuszczanych Single do wartości null.

Max(IEnumerable<Decimal>)

Zwraca wartość maksymalną w sekwencji Decimal wartości.

Max(IEnumerable<Double>)

Zwraca wartość maksymalną w sekwencji Double wartości.

Max(IEnumerable<Int32>)

Zwraca wartość maksymalną w sekwencji Int32 wartości.

Max(IEnumerable<Int64>)

Zwraca wartość maksymalną w sekwencji Int64 wartości.

Max(IEnumerable<Nullable<Decimal>>)

Zwraca wartość maksymalną w sekwencji wartości dopuszczanych Decimal do wartości null.

Max(IEnumerable<Nullable<Double>>)

Zwraca wartość maksymalną w sekwencji wartości dopuszczanych Double do wartości null.

Max(IEnumerable<Nullable<Int32>>)

Zwraca wartość maksymalną w sekwencji wartości dopuszczanych Int32 do wartości null.

Max(IEnumerable<Nullable<Int64>>)

Zwraca wartość maksymalną w sekwencji wartości dopuszczanych Int64 do wartości null.

Max(IEnumerable<Single>)

Zwraca wartość maksymalną w sekwencji Single wartości.

Max<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>)

Wywołuje funkcję transform dla każdego elementu sekwencji ogólnej i zwraca maksymalną wynikową wartość.

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

Zwraca wartość maksymalną w sekwencji ogólnej.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)

Wywołuje funkcję transform dla każdego elementu sekwencji i zwraca maksymalną Decimal wartość.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>)

Wywołuje funkcję transform dla każdego elementu sekwencji i zwraca maksymalną Double wartość.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)

Wywołuje funkcję transform dla każdego elementu sekwencji i zwraca maksymalną Int32 wartość.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)

Wywołuje funkcję transform dla każdego elementu sekwencji i zwraca maksymalną Int64 wartość.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)

Wywołuje funkcję przekształcania dla każdego elementu sekwencji i zwraca maksymalną wartość dopuszczaną Decimal do wartości null.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)

Wywołuje funkcję przekształcania dla każdego elementu sekwencji i zwraca maksymalną wartość dopuszczaną Double do wartości null.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)

Wywołuje funkcję przekształcania dla każdego elementu sekwencji i zwraca maksymalną wartość dopuszczaną Int32 do wartości null.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)

Wywołuje funkcję przekształcania dla każdego elementu sekwencji i zwraca maksymalną wartość dopuszczaną Int64 do wartości null.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)

Wywołuje funkcję przekształcania dla każdego elementu sekwencji i zwraca maksymalną wartość dopuszczaną Single do wartości null.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>)

Wywołuje funkcję transform dla każdego elementu sekwencji i zwraca maksymalną Single wartość.

Max<TSource>(IEnumerable<TSource>)

Zwraca wartość maksymalną w sekwencji ogólnej.

Max(IEnumerable<Nullable<Single>>)

Zwraca wartość maksymalną w sekwencji wartości dopuszczanych Single do wartości null.

public:
[System::Runtime::CompilerServices::Extension]
 static Nullable<float> Max(System::Collections::Generic::IEnumerable<Nullable<float>> ^ source);
public static float? Max (this System.Collections.Generic.IEnumerable<float?> source);
static member Max : seq<Nullable<single>> -> Nullable<single>
<Extension()>
Public Function Max (source As IEnumerable(Of Nullable(Of Single))) As Nullable(Of Single)

Parametry

source
IEnumerable<Nullable<Single>>

Sekwencja wartości dopuszczanych Single do wartości null w celu określenia maksymalnej wartości.

Zwraca

Nullable<Single>

Wartość typu NullableSingle<> w języku C# lub Nullable(Of Single) w Visual Basic, która odpowiada maksymalnej wartości w sekwencji.

Wyjątki

source to null.

Uwagi

Metoda Max(IEnumerable<Nullable<Single>>) używa implementacji Single IComparable<T> metody do porównywania wartości.

Jeśli sekwencja źródłowa jest pusta lub zawiera tylko wartości, które są null, ta funkcja zwraca wartość null.

W Visual Basic składni wyrażenia zapytania klauzula Aggregate Into Max() przekłada się na wywołanie Maxelementu .

Zobacz też

Dotyczy

Max(IEnumerable<Decimal>)

Zwraca wartość maksymalną w sekwencji Decimal wartości.

public:
[System::Runtime::CompilerServices::Extension]
 static System::Decimal Max(System::Collections::Generic::IEnumerable<System::Decimal> ^ source);
public static decimal Max (this System.Collections.Generic.IEnumerable<decimal> source);
static member Max : seq<decimal> -> decimal
<Extension()>
Public Function Max (source As IEnumerable(Of Decimal)) As Decimal

Parametry

source
IEnumerable<Decimal>

Sekwencja Decimal wartości określających maksymalną wartość.

Zwraca

Decimal

Maksymalna wartość w sekwencji.

Wyjątki

source to null.

source nie zawiera żadnych elementów.

Uwagi

Metoda Max(IEnumerable<Decimal>) używa implementacji Decimal IComparable<T> metody do porównywania wartości.

W Visual Basic składni wyrażenia zapytania klauzula Aggregate Into Max() tłumaczy się na wywołanie Max.

Zobacz też

Dotyczy

Max(IEnumerable<Double>)

Zwraca wartość maksymalną w sekwencji Double wartości.

public:
[System::Runtime::CompilerServices::Extension]
 static double Max(System::Collections::Generic::IEnumerable<double> ^ source);
public static double Max (this System.Collections.Generic.IEnumerable<double> source);
static member Max : seq<double> -> double
<Extension()>
Public Function Max (source As IEnumerable(Of Double)) As Double

Parametry

source
IEnumerable<Double>

Sekwencja Double wartości określających maksymalną wartość.

Zwraca

Double

Maksymalna wartość w sekwencji.

Wyjątki

source to null.

source nie zawiera żadnych elementów.

Uwagi

Metoda Max(IEnumerable<Double>) używa implementacji Double IComparable<T> metody do porównywania wartości.

W Visual Basic składni wyrażenia zapytania klauzula Aggregate Into Max() tłumaczy się na wywołanie Max.

Zobacz też

Dotyczy

Max(IEnumerable<Int32>)

Zwraca wartość maksymalną w sekwencji Int32 wartości.

public:
[System::Runtime::CompilerServices::Extension]
 static int Max(System::Collections::Generic::IEnumerable<int> ^ source);
public static int Max (this System.Collections.Generic.IEnumerable<int> source);
static member Max : seq<int> -> int
<Extension()>
Public Function Max (source As IEnumerable(Of Integer)) As Integer

Parametry

source
IEnumerable<Int32>

Sekwencja Int32 wartości określających maksymalną wartość.

Zwraca

Int32

Maksymalna wartość w sekwencji.

Wyjątki

source to null.

source nie zawiera żadnych elementów.

Uwagi

Metoda Max(IEnumerable<Int32>) używa implementacji Int32 IComparable<T> metody do porównywania wartości.

W Visual Basic składni wyrażenia zapytania klauzula Aggregate Into Max() tłumaczy się na wywołanie Max.

Zobacz też

Dotyczy

Max(IEnumerable<Int64>)

Zwraca wartość maksymalną w sekwencji Int64 wartości.

public:
[System::Runtime::CompilerServices::Extension]
 static long Max(System::Collections::Generic::IEnumerable<long> ^ source);
public static long Max (this System.Collections.Generic.IEnumerable<long> source);
static member Max : seq<int64> -> int64
<Extension()>
Public Function Max (source As IEnumerable(Of Long)) As Long

Parametry

source
IEnumerable<Int64>

Sekwencja Int64 wartości określających maksymalną wartość.

Zwraca

Int64

Maksymalna wartość w sekwencji.

Wyjątki

source to null.

source nie zawiera żadnych elementów.

Przykłady

W poniższym przykładzie kodu pokazano, jak za pomocą Max(IEnumerable<Int64>) metody określić maksymalną wartość w sekwencji.

List<long> longs = new List<long> { 4294967296L, 466855135L, 81125L };

long max = longs.Max();

Console.WriteLine("The largest number is {0}.", max);

/*
 This code produces the following output:

 The largest number is 4294967296.
*/
' Create a list of Long values.
Dim longs As New List(Of Long)(New Long() _
                           {4294967296L, 466855135L, 81125L})

' Get the maximum value in the list.
Dim max As Long = longs.Max()

' Display the result.
Console.WriteLine($"The largest number is {max}")

' This code produces the following output:
'
' The largest number is 4294967296

Uwagi

Metoda Max(IEnumerable<Int64>) używa implementacji Int64 IComparable<T> metody do porównywania wartości.

W Visual Basic składni wyrażenia zapytania klauzula Aggregate Into Max() przekłada się na wywołanie Maxelementu .

Zobacz też

Dotyczy

Max(IEnumerable<Nullable<Decimal>>)

Zwraca wartość maksymalną w sekwencji wartości dopuszczanych Decimal do wartości null.

public:
[System::Runtime::CompilerServices::Extension]
 static Nullable<System::Decimal> Max(System::Collections::Generic::IEnumerable<Nullable<System::Decimal>> ^ source);
public static decimal? Max (this System.Collections.Generic.IEnumerable<decimal?> source);
static member Max : seq<Nullable<decimal>> -> Nullable<decimal>
<Extension()>
Public Function Max (source As IEnumerable(Of Nullable(Of Decimal))) As Nullable(Of Decimal)

Parametry

source
IEnumerable<Nullable<Decimal>>

Sekwencja wartości dopuszczanych Decimal do wartości null w celu określenia maksymalnej wartości.

Zwraca

Nullable<Decimal>

Wartość typu NullableDecimal<> w języku C# lub Nullable(Of Decimal) w Visual Basic, która odpowiada maksymalnej wartości w sekwencji.

Wyjątki

source to null.

Uwagi

Metoda Max(IEnumerable<Nullable<Decimal>>) używa implementacji Decimal IComparable<T> metody do porównywania wartości.

Jeśli sekwencja źródłowa jest pusta lub zawiera tylko wartości, które są null, ta funkcja zwraca wartość null.

W Visual Basic składni wyrażenia zapytania klauzula Aggregate Into Max() przekłada się na wywołanie Maxelementu .

Zobacz też

Dotyczy

Max(IEnumerable<Nullable<Double>>)

Zwraca wartość maksymalną w sekwencji wartości dopuszczanych Double do wartości null.

public:
[System::Runtime::CompilerServices::Extension]
 static Nullable<double> Max(System::Collections::Generic::IEnumerable<Nullable<double>> ^ source);
public static double? Max (this System.Collections.Generic.IEnumerable<double?> source);
static member Max : seq<Nullable<double>> -> Nullable<double>
<Extension()>
Public Function Max (source As IEnumerable(Of Nullable(Of Double))) As Nullable(Of Double)

Parametry

source
IEnumerable<Nullable<Double>>

Sekwencja wartości dopuszczanych Double do wartości null w celu określenia maksymalnej wartości.

Zwraca

Nullable<Double>

Wartość typu NullableDouble<> w języku C# lub Nullable(Of Double) w Visual Basic, która odpowiada maksymalnej wartości w sekwencji.

Wyjątki

source to null.

Przykłady

W poniższym przykładzie kodu pokazano, jak za pomocą Max(IEnumerable<Nullable<Double>>) metody określić maksymalną wartość w sekwencji.

double?[] doubles = { null, 1.5E+104, 9E+103, -2E+103 };

double? max = doubles.Max();

Console.WriteLine("The largest number is {0}.", max);

/*
 This code produces the following output:

 The largest number is 1.5E+104.
*/
' Create an array of Nullable Double values.
Dim doubles() As Nullable(Of Double) =
{Nothing, 1.5E+104, 9.0E+103, -2.0E+103}

' Determine the maximum value in the array.
Dim max As Nullable(Of Double) = doubles.Max()

' Display the result.
Console.WriteLine($"The largest number is {max}")

' This code produces the following output:
'
' The largest number is 1.5E+104

Uwagi

Metoda Max(IEnumerable<Nullable<Double>>) używa implementacji Double IComparable<T> metody do porównywania wartości.

Jeśli sekwencja źródłowa jest pusta lub zawiera tylko wartości, które są null, ta funkcja zwraca wartość null.

W Visual Basic składni wyrażenia zapytania klauzula Aggregate Into Max() przekłada się na wywołanie Maxelementu .

Zobacz też

Dotyczy

Max(IEnumerable<Nullable<Int32>>)

Zwraca wartość maksymalną w sekwencji wartości dopuszczanych Int32 do wartości null.

public:
[System::Runtime::CompilerServices::Extension]
 static Nullable<int> Max(System::Collections::Generic::IEnumerable<Nullable<int>> ^ source);
public static int? Max (this System.Collections.Generic.IEnumerable<int?> source);
static member Max : seq<Nullable<int>> -> Nullable<int>
<Extension()>
Public Function Max (source As IEnumerable(Of Nullable(Of Integer))) As Nullable(Of Integer)

Parametry

source
IEnumerable<Nullable<Int32>>

Sekwencja wartości dopuszczanych Int32 do wartości null w celu określenia maksymalnej wartości.

Zwraca

Nullable<Int32>

Wartość typu NullableInt32<> w języku C# lub nullable(Of Int32) w Visual Basic, która odpowiada maksymalnej wartości w sekwencji.

Wyjątki

source to null.

Uwagi

Metoda Max(IEnumerable<Nullable<Int32>>) używa implementacji Int32 IComparable<T> metody do porównywania wartości.

Jeśli sekwencja źródłowa jest pusta lub zawiera tylko wartości, które są null, ta funkcja zwraca wartość null.

W Visual Basic składni wyrażenia zapytania klauzula Aggregate Into Max() przekłada się na wywołanie Maxelementu .

Zobacz też

Dotyczy

Max(IEnumerable<Nullable<Int64>>)

Zwraca wartość maksymalną w sekwencji wartości dopuszczanych Int64 do wartości null.

public:
[System::Runtime::CompilerServices::Extension]
 static Nullable<long> Max(System::Collections::Generic::IEnumerable<Nullable<long>> ^ source);
public static long? Max (this System.Collections.Generic.IEnumerable<long?> source);
static member Max : seq<Nullable<int64>> -> Nullable<int64>
<Extension()>
Public Function Max (source As IEnumerable(Of Nullable(Of Long))) As Nullable(Of Long)

Parametry

source
IEnumerable<Nullable<Int64>>

Sekwencja wartości dopuszczanych Int64 do wartości null w celu określenia maksymalnej wartości.

Zwraca

Nullable<Int64>

Wartość typu NullableInt64<> w języku C# lub Nullable(Of Int64) w Visual Basic, która odpowiada maksymalnej wartości w sekwencji.

Wyjątki

source to null.

Uwagi

Metoda Max(IEnumerable<Nullable<Int64>>) używa implementacji Int64 IComparable<T> metody do porównywania wartości.

Jeśli sekwencja źródłowa jest pusta lub zawiera tylko wartości, które są null, ta funkcja zwraca wartość null.

W Visual Basic składni wyrażenia zapytania klauzula Aggregate Into Max() przekłada się na wywołanie Maxelementu .

Zobacz też

Dotyczy

Max(IEnumerable<Single>)

Zwraca wartość maksymalną w sekwencji Single wartości.

public:
[System::Runtime::CompilerServices::Extension]
 static float Max(System::Collections::Generic::IEnumerable<float> ^ source);
public static float Max (this System.Collections.Generic.IEnumerable<float> source);
static member Max : seq<single> -> single
<Extension()>
Public Function Max (source As IEnumerable(Of Single)) As Single

Parametry

source
IEnumerable<Single>

Sekwencja Single wartości określających maksymalną wartość.

Zwraca

Single

Maksymalna wartość w sekwencji.

Wyjątki

source to null.

source nie zawiera żadnych elementów.

Uwagi

Metoda Max(IEnumerable<Single>) używa implementacji Single IComparable<T> metody do porównywania wartości.

W Visual Basic składni wyrażenia zapytania klauzula Aggregate Into Max() przekłada się na wywołanie Maxelementu .

Zobacz też

Dotyczy

Max<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>)

Wywołuje funkcję transform dla każdego elementu sekwencji ogólnej i zwraca maksymalną wynikową wartość.

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

Parametry typu

TSource

Typ elementów elementu source.

TResult

Typ wartości zwracanej przez selector.

Parametry

source
IEnumerable<TSource>

Kolejność wartości do określenia wartości maksymalnej.

selector
Func<TSource,TResult>

Funkcja transformacji do zastosowania do każdego elementu.

Zwraca

TResult

Maksymalna wartość w sekwencji.

Wyjątki

source lub selector to null.

Przykłady

W poniższym przykładzie kodu pokazano, jak użyć Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) metody określania maksymalnej wartości w sekwencji przewidywanych wartości.

Uwaga

W tym przykładzie kodu użyto przeciążenia metody innej niż określone przeciążenie opisane w tym artykule. Aby rozszerzyć przykład na przeciążenie opisane w tym artykule, zmień treść selector funkcji.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void MaxEx4()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    int max = pets.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

Sub MaxEx4()
    ' Create an array of Pet objects.
    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}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Uwagi

Jeśli typ TResult implementuje metodę IComparable<T>, ta metoda używa tej implementacji do porównywania wartości. W przeciwnym razie, jeśli typ TResult implementuje metodę IComparable, ta implementacja jest używana do porównywania wartości.

W Visual Basic składni wyrażenia zapytania klauzula Aggregate Into Max() tłumaczy się na wywołanie Max.

Zobacz też

Dotyczy

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

Zwraca wartość maksymalną w sekwencji ogólnej.

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

Parametry typu

TSource

Typ elementów elementu source.

Parametry

source
IEnumerable<TSource>

Kolejność wartości do określenia wartości maksymalnej.

comparer
IComparer<TSource>

Element IComparer<T> do porównywania wartości.

Zwraca

TSource

Maksymalna wartość w sekwencji.

Wyjątki

source to null.

Żaden obiekt w programie source nie implementuje interfejsu IComparable lub IComparable<T> .

Uwagi

Jeśli typ TSource implementuje IComparable<T>metodę Max<TSource>(IEnumerable<TSource>) , metoda używa tej implementacji do porównywania wartości. W przeciwnym razie, jeśli typ TSource implementuje IComparableelement , ta implementacja jest używana do porównywania wartości.

Jeśli TSource jest typem odwołania, a sekwencja źródłowa jest pusta lub zawiera tylko wartości, które są null, ta metoda zwraca wartość null.

W Visual Basic składni wyrażenia zapytania klauzula Aggregate Into Max() przekłada się na wywołanie Maxelementu .

Dotyczy

Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)

Wywołuje funkcję transform dla każdego elementu sekwencji i zwraca maksymalną Decimal wartość.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static System::Decimal Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, System::Decimal> ^ selector);
public static decimal Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,decimal> selector);
static member Max : seq<'Source> * Func<'Source, decimal> -> decimal
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Decimal)) As Decimal

Parametry typu

TSource

Typ elementów elementu source.

Parametry

source
IEnumerable<TSource>

Kolejność wartości do określenia wartości maksymalnej.

selector
Func<TSource,Decimal>

Funkcja transformacji do zastosowania do każdego elementu.

Zwraca

Decimal

Maksymalna wartość w sekwencji.

Wyjątki

source lub selector ma wartość null.

source nie zawiera żadnych elementów.

Przykłady

W poniższym przykładzie kodu pokazano, jak za pomocą Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) metody określić maksymalną wartość w sekwencji przewidywanych wartości.

Uwaga

W tym przykładzie kodu użyto przeciążenia metody innej niż określone przeciążenie opisane w tym artykule. Aby rozszerzyć przykład na przeciążenie opisane w tym artykule, zmień treść selector funkcji.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void MaxEx4()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    int max = pets.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

Sub MaxEx4()
    ' Create an array of Pet objects.
    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}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Uwagi

Metoda Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>) używa implementacji Decimal IComparable<T> metody do porównywania wartości.

Tę metodę można zastosować do sekwencji dowolnych wartości, jeśli podasz funkcję , selectorktóra rzutuje elementy członkowskie source obiektu na typ liczbowy, w szczególności Decimal.

W Visual Basic składni wyrażenia zapytania klauzula Aggregate Into Max() przekłada się na wywołanie Maxelementu .

Zobacz też

Dotyczy

Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>)

Wywołuje funkcję transform dla każdego elementu sekwencji i zwraca maksymalną Double wartość.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static double Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, double> ^ selector);
public static double Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,double> selector);
static member Max : seq<'Source> * Func<'Source, double> -> double
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Double)) As Double

Parametry typu

TSource

Typ elementów elementu source.

Parametry

source
IEnumerable<TSource>

Kolejność wartości do określenia wartości maksymalnej.

selector
Func<TSource,Double>

Funkcja transformacji do zastosowania do każdego elementu.

Zwraca

Double

Maksymalna wartość w sekwencji.

Wyjątki

source lub selector ma wartość null.

source nie zawiera żadnych elementów.

Przykłady

W poniższym przykładzie kodu pokazano, jak za pomocą Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) metody określić maksymalną wartość w sekwencji przewidywanych wartości.

Uwaga

W tym przykładzie kodu użyto przeciążenia metody innej niż określone przeciążenie opisane w tym artykule. Aby rozszerzyć przykład na przeciążenie opisane w tym artykule, zmień treść selector funkcji.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void MaxEx4()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    int max = pets.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

Sub MaxEx4()
    ' Create an array of Pet objects.
    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}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Uwagi

Metoda Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>) używa implementacji Double IComparable<T> metody do porównywania wartości.

Tę metodę można zastosować do sekwencji dowolnych wartości, jeśli podasz funkcję , selectorktóra rzutuje elementy członkowskie source obiektu na typ liczbowy, w szczególności Double.

W Visual Basic składni wyrażenia zapytania klauzula Aggregate Into Max() przekłada się na wywołanie Maxelementu .

Zobacz też

Dotyczy

Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)

Wywołuje funkcję transform dla każdego elementu sekwencji i zwraca maksymalną Int32 wartość.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static int Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, int> ^ selector);
public static int Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,int> selector);
static member Max : seq<'Source> * Func<'Source, int> -> int
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Integer)) As Integer

Parametry typu

TSource

Typ elementów elementu source.

Parametry

source
IEnumerable<TSource>

Kolejność wartości do określenia wartości maksymalnej.

selector
Func<TSource,Int32>

Funkcja transformacji do zastosowania do każdego elementu.

Zwraca

Int32

Maksymalna wartość w sekwencji.

Wyjątki

source lub selector ma wartość null.

source nie zawiera żadnych elementów.

Przykłady

W poniższym przykładzie kodu pokazano, jak za pomocą Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) metody określić maksymalną wartość w sekwencji przewidywanych wartości.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void MaxEx4()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    int max = pets.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

Sub MaxEx4()
    ' Create an array of Pet objects.
    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}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Uwagi

Metoda Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) używa implementacji Int32 IComparable<T> metody do porównywania wartości.

Tę metodę można zastosować do sekwencji dowolnych wartości, jeśli podasz funkcję , selectorktóra rzutuje elementy członkowskie source obiektu na typ liczbowy, w szczególności Int32.

W Visual Basic składni wyrażenia zapytania klauzula Aggregate Into Max() przekłada się na wywołanie Maxelementu .

Zobacz też

Dotyczy

Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)

Wywołuje funkcję transform dla każdego elementu sekwencji i zwraca maksymalną Int64 wartość.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static long Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, long> ^ selector);
public static long Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,long> selector);
static member Max : seq<'Source> * Func<'Source, int64> -> int64
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Long)) As Long

Parametry typu

TSource

Typ elementów elementu source.

Parametry

source
IEnumerable<TSource>

Kolejność wartości do określenia wartości maksymalnej.

selector
Func<TSource,Int64>

Funkcja transformacji do zastosowania do każdego elementu.

Zwraca

Int64

Maksymalna wartość w sekwencji.

Wyjątki

source lub selector ma wartość null.

source nie zawiera żadnych elementów.

Przykłady

W poniższym przykładzie kodu pokazano, jak za pomocą Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) metody określić maksymalną wartość w sekwencji przewidywanych wartości.

Uwaga

W tym przykładzie kodu użyto przeciążenia metody innej niż określone przeciążenie opisane w tym artykule. Aby rozszerzyć przykład na przeciążenie opisane w tym artykule, zmień treść selector funkcji.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void MaxEx4()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    int max = pets.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

Sub MaxEx4()
    ' Create an array of Pet objects.
    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}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Uwagi

Metoda Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) używa implementacji Int64 IComparable<T> metody do porównywania wartości.

Tę metodę można zastosować do sekwencji dowolnych wartości, jeśli podasz funkcję , selectorktóra rzutuje elementy członkowskie source obiektu na typ liczbowy, w szczególności Int64.

W Visual Basic składni wyrażenia zapytania klauzula Aggregate Into Max() przekłada się na wywołanie Maxelementu .

Zobacz też

Dotyczy

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)

Wywołuje funkcję przekształcania dla każdego elementu sekwencji i zwraca maksymalną wartość dopuszczaną Decimal do wartości null.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static Nullable<System::Decimal> Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<System::Decimal>> ^ selector);
public static decimal? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,decimal?> selector);
static member Max : seq<'Source> * Func<'Source, Nullable<decimal>> -> Nullable<decimal>
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Decimal))) As Nullable(Of Decimal)

Parametry typu

TSource

Typ elementów elementu source.

Parametry

source
IEnumerable<TSource>

Kolejność wartości do określenia wartości maksymalnej.

selector
Func<TSource,Nullable<Decimal>>

Funkcja transformacji do zastosowania do każdego elementu.

Zwraca

Nullable<Decimal>

Wartość typu NullableDecimal<> w języku C# lub Nullable(Of Decimal) w Visual Basic, która odpowiada maksymalnej wartości w sekwencji.

Wyjątki

source lub selector ma wartość null.

Przykłady

W poniższym przykładzie kodu pokazano, jak za pomocą Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) metody określić maksymalną wartość w sekwencji przewidywanych wartości.

Uwaga

W tym przykładzie kodu użyto przeciążenia metody innej niż określone przeciążenie opisane w tym artykule. Aby rozszerzyć przykład na przeciążenie opisane w tym artykule, zmień treść selector funkcji.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void MaxEx4()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    int max = pets.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

Sub MaxEx4()
    ' Create an array of Pet objects.
    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}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Uwagi

Metoda Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) używa implementacji Decimal IComparable<T> metody do porównywania wartości.

Tę metodę można zastosować do sekwencji dowolnych wartości, jeśli podasz funkcję , selectorktóra rzutuje elementy członkowskie source w typ liczbowy, w szczególności Nullable<Decimal> w języku C# lub Nullable(Of Decimal) w Visual Basic.

W Visual Basic składni wyrażenia zapytania klauzula Aggregate Into Max() przekłada się na wywołanie Maxelementu .

Zobacz też

Dotyczy

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)

Wywołuje funkcję przekształcania dla każdego elementu sekwencji i zwraca maksymalną wartość dopuszczaną Double do wartości null.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static Nullable<double> Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<double>> ^ selector);
public static double? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,double?> selector);
static member Max : seq<'Source> * Func<'Source, Nullable<double>> -> Nullable<double>
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Double))) As Nullable(Of Double)

Parametry typu

TSource

Typ elementów elementu source.

Parametry

source
IEnumerable<TSource>

Kolejność wartości do określenia wartości maksymalnej.

selector
Func<TSource,Nullable<Double>>

Funkcja transformacji do zastosowania do każdego elementu.

Zwraca

Nullable<Double>

Wartość typu NullableDouble<> w języku C# lub Nullable(Of Double) w Visual Basic, która odpowiada maksymalnej wartości w sekwencji.

Wyjątki

source lub selector ma wartość null.

Przykłady

W poniższym przykładzie kodu pokazano, jak za pomocą Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) metody określić maksymalną wartość w sekwencji przewidywanych wartości.

Uwaga

W tym przykładzie kodu użyto przeciążenia metody innej niż określone przeciążenie opisane w tym artykule. Aby rozszerzyć przykład na przeciążenie opisane w tym artykule, zmień treść selector funkcji.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void MaxEx4()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    int max = pets.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

Sub MaxEx4()
    ' Create an array of Pet objects.
    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}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Uwagi

Metoda Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) używa implementacji Double IComparable<T> metody do porównywania wartości.

Tę metodę można zastosować do sekwencji dowolnych wartości, jeśli podasz funkcję , selectorktóra rzutuje elementy członkowskie source w typ liczbowy, w szczególności Nullable<Double> w języku C# lub Nullable(Of Double) w Visual Basic.

W Visual Basic składni wyrażenia zapytania klauzula Aggregate Into Max() przekłada się na wywołanie Maxelementu .

Zobacz też

Dotyczy

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)

Wywołuje funkcję przekształcania dla każdego elementu sekwencji i zwraca maksymalną wartość dopuszczaną Int32 do wartości null.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static Nullable<int> Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<int>> ^ selector);
public static int? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,int?> selector);
static member Max : seq<'Source> * Func<'Source, Nullable<int>> -> Nullable<int>
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Integer))) As Nullable(Of Integer)

Parametry typu

TSource

Typ elementów elementu source.

Parametry

source
IEnumerable<TSource>

Kolejność wartości do określenia wartości maksymalnej.

selector
Func<TSource,Nullable<Int32>>

Funkcja transformacji do zastosowania do każdego elementu.

Zwraca

Nullable<Int32>

Wartość typu NullableInt32<> w języku C# lub nullable(Of Int32) w Visual Basic, która odpowiada maksymalnej wartości w sekwencji.

Wyjątki

source lub selector ma wartość null.

Przykłady

W poniższym przykładzie kodu pokazano, jak za pomocą Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) metody określić maksymalną wartość w sekwencji przewidywanych wartości.

Uwaga

W tym przykładzie kodu użyto przeciążenia metody innej niż określone przeciążenie opisane w tym artykule. Aby rozszerzyć przykład na przeciążenie opisane w tym artykule, zmień treść selector funkcji.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void MaxEx4()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    int max = pets.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

Sub MaxEx4()
    ' Create an array of Pet objects.
    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}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Uwagi

Metoda Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) używa implementacji Int32 IComparable<T> metody do porównywania wartości.

Tę metodę można zastosować do sekwencji dowolnych wartości, jeśli podasz funkcję , selectorktóra rzutuje elementy członkowskie source w typ liczbowy, w szczególności Nullable<Int32> w języku C# lub Nullable(Of Int32) w Visual Basic.

W Visual Basic składni wyrażenia zapytania klauzula Aggregate Into Max() przekłada się na wywołanie Maxelementu .

Zobacz też

Dotyczy

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)

Wywołuje funkcję przekształcania dla każdego elementu sekwencji i zwraca maksymalną wartość dopuszczaną Int64 do wartości null.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static Nullable<long> Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<long>> ^ selector);
public static long? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,long?> selector);
static member Max : seq<'Source> * Func<'Source, Nullable<int64>> -> Nullable<int64>
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Long))) As Nullable(Of Long)

Parametry typu

TSource

Typ elementów elementu source.

Parametry

source
IEnumerable<TSource>

Kolejność wartości do określenia wartości maksymalnej.

selector
Func<TSource,Nullable<Int64>>

Funkcja transformacji do zastosowania do każdego elementu.

Zwraca

Nullable<Int64>

Wartość typu NullableInt64<> w języku C# lub nullable(Of Int64) w Visual Basic, która odpowiada maksymalnej wartości w sekwencji.

Wyjątki

source lub selector ma wartość null.

Przykłady

W poniższym przykładzie kodu pokazano, jak za pomocą Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) metody określić maksymalną wartość w sekwencji przewidywanych wartości.

Uwaga

W tym przykładzie kodu użyto przeciążenia metody innej niż określone przeciążenie opisane w tym artykule. Aby rozszerzyć przykład na przeciążenie opisane w tym artykule, zmień treść selector funkcji.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void MaxEx4()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    int max = pets.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

Sub MaxEx4()
    ' Create an array of Pet objects.
    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}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Uwagi

Metoda Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) używa implementacji Int64 IComparable<T> metody do porównywania wartości.

Tę metodę można zastosować do sekwencji dowolnych wartości, jeśli podasz funkcję , selectorktóra rzutuje elementy członkowskie source w typ liczbowy, w szczególności Nullable<Int64> w języku C# lub Nullable(Of Int64) w Visual Basic.

W Visual Basic składni wyrażenia zapytania klauzula Aggregate Into Max() przekłada się na wywołanie Maxelementu .

Zobacz też

Dotyczy

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)

Wywołuje funkcję przekształcania dla każdego elementu sekwencji i zwraca maksymalną wartość dopuszczaną Single do wartości null.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static Nullable<float> Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<float>> ^ selector);
public static float? Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,float?> selector);
static member Max : seq<'Source> * Func<'Source, Nullable<single>> -> Nullable<single>
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Single))) As Nullable(Of Single)

Parametry typu

TSource

Typ elementów elementu source.

Parametry

source
IEnumerable<TSource>

Kolejność wartości do określenia wartości maksymalnej.

selector
Func<TSource,Nullable<Single>>

Funkcja transformacji do zastosowania do każdego elementu.

Zwraca

Nullable<Single>

Wartość typu NullableSingle<> w języku C# lub Nullable(Of Single) w Visual Basic, która odpowiada maksymalnej wartości w sekwencji.

Wyjątki

source lub selector ma wartość null.

Przykłady

W poniższym przykładzie kodu pokazano, jak za pomocą Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) metody określić maksymalną wartość w sekwencji przewidywanych wartości.

Uwaga

W tym przykładzie kodu użyto przeciążenia metody innej niż określone przeciążenie opisane w tym artykule. Aby rozszerzyć przykład na przeciążenie opisane w tym artykule, zmień treść selector funkcji.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void MaxEx4()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    int max = pets.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

Sub MaxEx4()
    ' Create an array of Pet objects.
    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}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Uwagi

Metoda Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) używa implementacji Single IComparable<T> metody do porównywania wartości.

Tę metodę można zastosować do sekwencji dowolnych wartości, jeśli podasz funkcję , selectorktóra rzutuje elementy członkowskie source w typ liczbowy, w szczególności Nullable<Single> w języku C# lub Nullable(Of Single) w Visual Basic.

W Visual Basic składni wyrażenia zapytania klauzula Aggregate Into Max() przekłada się na wywołanie Maxelementu .

Zobacz też

Dotyczy

Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>)

Wywołuje funkcję transform dla każdego elementu sekwencji i zwraca maksymalną Single wartość.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static float Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, float> ^ selector);
public static float Max<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,float> selector);
static member Max : seq<'Source> * Func<'Source, single> -> single
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Single)) As Single

Parametry typu

TSource

Typ elementów elementu source.

Parametry

source
IEnumerable<TSource>

Kolejność wartości do określenia wartości maksymalnej.

selector
Func<TSource,Single>

Funkcja transformacji do zastosowania do każdego elementu.

Zwraca

Single

Maksymalna wartość w sekwencji.

Wyjątki

source lub selector ma wartość null.

source nie zawiera żadnych elementów.

Przykłady

W poniższym przykładzie kodu pokazano, jak za pomocą Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) metody określić maksymalną wartość w sekwencji przewidywanych wartości.

Uwaga

W tym przykładzie kodu użyto przeciążenia metody innej niż określone przeciążenie opisane w tym artykule. Aby rozszerzyć przykład na przeciążenie opisane w tym artykule, zmień treść selector funkcji.

class Pet
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public static void MaxEx4()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    int max = pets.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

Sub MaxEx4()
    ' Create an array of Pet objects.
    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}}

    ' Determine the "maximum" pet by passing a
    ' lambda expression to Max() that sums the pet's age
    ' and name length.
    Dim max As Integer = pets.Max(Function(pet) _
                                  pet.Age + pet.Name.Length)

    ' Display the result.
    Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub

' This code produces the following output:
'
' The maximum pet age plus name length is 14

Uwagi

Metoda Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>) używa implementacji Single IComparable<T> metody do porównywania wartości.

Tę metodę można zastosować do sekwencji dowolnych wartości, jeśli podasz funkcję , selectorktóra rzutuje elementy członkowskie source obiektu na typ liczbowy, w szczególności Single.

W Visual Basic składni wyrażenia zapytania klauzula Aggregate Into Max() przekłada się na wywołanie Maxelementu .

Zobacz też

Dotyczy

Max<TSource>(IEnumerable<TSource>)

Zwraca wartość maksymalną w sekwencji ogólnej.

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

Parametry typu

TSource

Typ elementów elementu source.

Parametry

source
IEnumerable<TSource>

Kolejność wartości do określenia wartości maksymalnej.

Zwraca

TSource

Maksymalna wartość w sekwencji.

Wyjątki

source to null.

Żaden obiekt w programie source nie implementuje interfejsu IComparable lub IComparable<T> .

Przykłady

W poniższym przykładzie kodu pokazano, jak za pomocą Max<TSource>(IEnumerable<TSource>) metody określić maksymalną wartość w sekwencji IComparable<T> obiektów.

/// <summary>
/// This class implements IComparable to be able to
/// compare one Pet to another Pet.
/// </summary>
class Pet : IComparable<Pet>
{
    public string Name { get; set; }
    public int Age { get; set; }

    /// <summary>
    /// Compares this Pet to another Pet by
    /// summing each Pet's age and name length.
    /// </summary>
    /// <param name="other">The Pet to compare this Pet to.</param>
    /// <returns>-1 if this Pet is 'less' than the other Pet,
    /// 0 if they are equal,
    /// or 1 if this Pet is 'greater' than the other Pet.</returns>
    int IComparable<Pet>.CompareTo(Pet other)
    {
        int sumOther = other.Age + other.Name.Length;
        int sumThis = this.Age + this.Name.Length;

        if (sumOther > sumThis)
            return -1;
        else if (sumOther == sumThis)
            return 0;
        else
            return 1;
    }
}

public static void MaxEx3()
{
    Pet[] pets = { new Pet { Name="Barley", Age=8 },
                   new Pet { Name="Boots", Age=4 },
                   new Pet { Name="Whiskers", Age=1 } };

    Pet max = pets.Max();

    Console.WriteLine(
        "The 'maximum' animal is {0}.",
        max.Name);
}

/*
 This code produces the following output:

 The 'maximum' animal is Barley.
*/
' This class implements IComparable 
' and has a custom 'CompareTo' implementation.
Class Pet
    Implements IComparable(Of Pet)

    Public Name As String
    Public Age As Integer

    ''' <summary>
    ''' Compares Pet objects by the sum of their age and name length.
    ''' </summary>
    ''' <param name="other">The Pet to compare this Pet to.</param>
    ''' <returns>-1 if this Pet's sum is 'less' than the other Pet,
    ''' 0 if they are equal,
    ''' or 1 if this Pet's sum is 'greater' than the other Pet.</returns>
    Function CompareTo(ByVal other As Pet) As Integer _
    Implements IComparable(Of Pet).CompareTo

        If (other.Age + other.Name.Length > Me.Age + Me.Name.Length) Then
            Return -1
        ElseIf (other.Age + other.Name.Length = Me.Age + Me.Name.Length) Then
            Return 0
        Else
            Return 1
        End If
    End Function
End Class

Sub MaxEx3()
    ' Create an array of Pet objects.
    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}}

    ' Find the "maximum" pet according to the 
    ' custom CompareTo() implementation.
    Dim max As Pet = pets.Max()

    ' Display the result.
    Console.WriteLine($"The 'maximum' animal is {max.Name}")
End Sub

' This code produces the following output:
'
' The 'maximum' animal is Barley

Uwagi

Jeśli typ TSource implementuje IComparable<T>metodę Max<TSource>(IEnumerable<TSource>) , metoda używa tej implementacji do porównywania wartości. W przeciwnym razie, jeśli typ TSource implementuje IComparableelement , ta implementacja jest używana do porównywania wartości.

Jeśli TSource jest typem odwołania, a sekwencja źródłowa jest pusta lub zawiera tylko wartości, które są null, ta metoda zwraca wartość null.

W Visual Basic składni wyrażenia zapytania klauzula Aggregate Into Max() przekłada się na wywołanie Maxelementu .

Zobacz też

Dotyczy