Enumerable.Max Metod

Definition

Returnerar det maximala värdet i en sekvens med värden.

Överlagringar

Name Description
Max(IEnumerable<Nullable<Single>>)

Returnerar det maximala värdet i en sekvens med null-värden Single .

Max(IEnumerable<Int32>)

Returnerar det maximala värdet i en sekvens med Int32 värden.

Max(IEnumerable<Nullable<Int64>>)

Returnerar det maximala värdet i en sekvens med null-värden Int64 .

Max(IEnumerable<Single>)

Returnerar det maximala värdet i en sekvens med Single värden.

Max(IEnumerable<Nullable<Int32>>)

Returnerar det maximala värdet i en sekvens med null-värden Int32 .

Max(IEnumerable<Decimal>)

Returnerar det maximala värdet i en sekvens med Decimal värden.

Max(IEnumerable<Nullable<Decimal>>)

Returnerar det maximala värdet i en sekvens med null-värden Decimal .

Max(IEnumerable<Int64>)

Returnerar det maximala värdet i en sekvens med Int64 värden.

Max(IEnumerable<Double>)

Returnerar det maximala värdet i en sekvens med Double värden.

Max(IEnumerable<Nullable<Double>>)

Returnerar det maximala värdet i en sekvens med null-värden Double .

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

Anropar en transformeringsfunktion på varje element i en allmän sekvens och returnerar det maximala resulterande värdet.

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

Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala Single värdet.

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

Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala null-värdet Single .

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

Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala null-värdet Int64 .

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

Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala null-värdet Int32 .

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

Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala null-värdet Double .

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

Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala Int64 värdet.

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

Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala Int32 värdet.

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

Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala Double värdet.

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

Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala Decimal värdet.

Max<TSource>(IEnumerable<TSource>)

Returnerar det maximala värdet i en allmän sekvens.

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

Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala null-värdet Decimal .

Max(IEnumerable<Nullable<Single>>)

Returnerar det maximala värdet i en sekvens med null-värden Single .

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)

Parametrar

source
IEnumerable<Nullable<Single>>

En sekvens med null-värden Single för att fastställa det maximala värdet för.

Returer

Ett värde av typen Nullable<Single> i C# eller Nullable(Of Single) i Visual Basic som motsvarar det maximala värdet i sekvensen.

Undantag

source är null.

Kommentarer

Metoden Max(IEnumerable<Nullable<Single>>) använder implementeringen Single av IComparable<T> för att jämföra värden.

Om källsekvensen är tom eller endast innehåller värden som är nullreturnerar nullden här funktionen .

I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.

Se även

Gäller för

Max(IEnumerable<Int32>)

Returnerar det maximala värdet i en sekvens med Int32 värden.

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

Parametrar

source
IEnumerable<Int32>

En sekvens med Int32 värden för att fastställa det maximala värdet för.

Returer

Maximalt värde i sekvensen.

Undantag

source är null.

source innehåller inga element.

Kommentarer

Metoden Max(IEnumerable<Int32>) använder implementeringen Int32 av IComparable<T> för att jämföra värden.

I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.

Se även

Gäller för

Max(IEnumerable<Nullable<Int64>>)

Returnerar det maximala värdet i en sekvens med null-värden Int64 .

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)

Parametrar

source
IEnumerable<Nullable<Int64>>

En sekvens med null-värden Int64 för att fastställa det maximala värdet för.

Returer

Ett värde av typen Nullable<Int64> i C# eller Nullable(Of Int64) i Visual Basic som motsvarar det maximala värdet i sekvensen.

Undantag

source är null.

Kommentarer

Metoden Max(IEnumerable<Nullable<Int64>>) använder implementeringen Int64 av IComparable<T> för att jämföra värden.

Om källsekvensen är tom eller endast innehåller värden som är nullreturnerar nullden här funktionen .

I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.

Se även

Gäller för

Max(IEnumerable<Single>)

Returnerar det maximala värdet i en sekvens med Single värden.

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

Parametrar

source
IEnumerable<Single>

En sekvens med Single värden för att fastställa det maximala värdet för.

Returer

Maximalt värde i sekvensen.

Undantag

source är null.

source innehåller inga element.

Kommentarer

Metoden Max(IEnumerable<Single>) använder implementeringen Single av IComparable<T> för att jämföra värden.

I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.

Se även

Gäller för

Max(IEnumerable<Nullable<Int32>>)

Returnerar det maximala värdet i en sekvens med null-värden Int32 .

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)

Parametrar

source
IEnumerable<Nullable<Int32>>

En sekvens med null-värden Int32 för att fastställa det maximala värdet för.

Returer

Ett värde av typen Nullable<Int32> i C# eller Nullable(Of Int32) i Visual Basic som motsvarar det maximala värdet i sekvensen.

Undantag

source är null.

Kommentarer

Metoden Max(IEnumerable<Nullable<Int32>>) använder implementeringen Int32 av IComparable<T> för att jämföra värden.

Om källsekvensen är tom eller endast innehåller värden som är nullreturnerar nullden här funktionen .

I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.

Se även

Gäller för

Max(IEnumerable<Decimal>)

Returnerar det maximala värdet i en sekvens med Decimal värden.

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

Parametrar

source
IEnumerable<Decimal>

En sekvens med Decimal värden för att fastställa det maximala värdet för.

Returer

Maximalt värde i sekvensen.

Undantag

source är null.

source innehåller inga element.

Kommentarer

Metoden Max(IEnumerable<Decimal>) använder implementeringen Decimal av IComparable<T> för att jämföra värden.

I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.

Se även

Gäller för

Max(IEnumerable<Nullable<Decimal>>)

Returnerar det maximala värdet i en sekvens med null-värden Decimal .

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)

Parametrar

source
IEnumerable<Nullable<Decimal>>

En sekvens med null-värden Decimal för att fastställa det maximala värdet för.

Returer

Ett värde av typen Nullable<Decimal> i C# eller Nullable(Of Decimal) i Visual Basic som motsvarar det maximala värdet i sekvensen.

Undantag

source är null.

Kommentarer

Metoden Max(IEnumerable<Nullable<Decimal>>) använder implementeringen Decimal av IComparable<T> för att jämföra värden.

Om källsekvensen är tom eller endast innehåller värden som är nullreturnerar nullden här funktionen .

I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.

Se även

Gäller för

Max(IEnumerable<Int64>)

Returnerar det maximala värdet i en sekvens med Int64 värden.

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

Parametrar

source
IEnumerable<Int64>

En sekvens med Int64 värden för att fastställa det maximala värdet för.

Returer

Maximalt värde i sekvensen.

Undantag

source är null.

source innehåller inga element.

Exempel

Följande kodexempel visar hur du använder Max(IEnumerable<Int64>) för att fastställa det maximala värdet i en sekvens.

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

Kommentarer

Metoden Max(IEnumerable<Int64>) använder implementeringen Int64 av IComparable<T> för att jämföra värden.

I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.

Se även

Gäller för

Max(IEnumerable<Double>)

Returnerar det maximala värdet i en sekvens med Double värden.

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

Parametrar

source
IEnumerable<Double>

En sekvens med Double värden för att fastställa det maximala värdet för.

Returer

Maximalt värde i sekvensen.

Undantag

source är null.

source innehåller inga element.

Kommentarer

Metoden Max(IEnumerable<Double>) använder implementeringen Double av IComparable<T> för att jämföra värden.

I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.

Se även

Gäller för

Max(IEnumerable<Nullable<Double>>)

Returnerar det maximala värdet i en sekvens med null-värden Double .

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)

Parametrar

source
IEnumerable<Nullable<Double>>

En sekvens med null-värden Double för att fastställa det maximala värdet för.

Returer

Ett värde av typen Nullable<Double> i C# eller Nullable(Of Double) i Visual Basic som motsvarar det maximala värdet i sekvensen.

Undantag

source är null.

Exempel

Följande kodexempel visar hur du använder Max(IEnumerable<Nullable<Double>>) för att fastställa det maximala värdet i en sekvens.

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

Kommentarer

Metoden Max(IEnumerable<Nullable<Double>>) använder implementeringen Double av IComparable<T> för att jämföra värden.

Om källsekvensen är tom eller endast innehåller värden som är nullreturnerar nullden här funktionen .

I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.

Se även

Gäller för

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

Anropar en transformeringsfunktion på varje element i en allmän sekvens och returnerar det maximala resulterande värdet.

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

Typparametrar

TSource

Typen av element sourcei .

TResult

Typen av värde som returneras av selector.

Parametrar

source
IEnumerable<TSource>

En sekvens med värden för att fastställa det maximala värdet för.

selector
Func<TSource,TResult>

En transformeringsfunktion som ska tillämpas på varje element.

Returer

TResult

Maximalt värde i sekvensen.

Undantag

source eller selector är null.

Exempel

Följande kodexempel visar hur du använder Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) för att fastställa det maximala värdet i en sekvens med beräknade värden.

Note

I det här kodexemplet används en överlagring av metoden som skiljer sig från den specifika överlagring som beskrivs i den här artikeln. Om du vill utöka exemplet till den överlagring som beskrivs i den här artikeln ändrar du funktionens selector brödtext.

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

Kommentarer

Om typen TResult implementerar IComparable<T>använder den här metoden den implementeringen för att jämföra värden. Annars, om typen TResult implementerar IComparable, används implementeringen för att jämföra värden.

I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.

Se även

Gäller för

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

Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala Single värdet.

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

Typparametrar

TSource

Typen av element sourcei .

Parametrar

source
IEnumerable<TSource>

En sekvens med värden för att fastställa det maximala värdet för.

selector
Func<TSource,Single>

En transformeringsfunktion som ska tillämpas på varje element.

Returer

Maximalt värde i sekvensen.

Undantag

source eller selector är null.

source innehåller inga element.

Exempel

Följande kodexempel visar hur du använder Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) för att fastställa det maximala värdet i en sekvens med beräknade värden.

Note

I det här kodexemplet används en överlagring av metoden som skiljer sig från den specifika överlagring som beskrivs i den här artikeln. Om du vill utöka exemplet till den överlagring som beskrivs i den här artikeln ändrar du funktionens selector brödtext.

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

Kommentarer

Metoden Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>) använder implementeringen Single av IComparable<T> för att jämföra värden.

Du kan använda den här metoden för en sekvens med godtyckliga värden om du anger en funktion, selector, som projicerar medlemmarna source i till en numerisk typ, särskilt Single.

I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.

Se även

Gäller för

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

Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala null-värdet Single .

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)

Typparametrar

TSource

Typen av element sourcei .

Parametrar

source
IEnumerable<TSource>

En sekvens med värden för att fastställa det maximala värdet för.

selector
Func<TSource,Nullable<Single>>

En transformeringsfunktion som ska tillämpas på varje element.

Returer

Värdet som motsvarar det maximala värdet i sekvensen.

Undantag

source eller selector är null.

Exempel

Följande kodexempel visar hur du använder Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) för att fastställa det maximala värdet i en sekvens med beräknade värden.

Note

I det här kodexemplet används en överlagring av metoden som skiljer sig från den specifika överlagring som beskrivs i den här artikeln. Om du vill utöka exemplet till den överlagring som beskrivs i den här artikeln ändrar du funktionens selector brödtext.

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

Kommentarer

Metoden Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) använder implementeringen Single av IComparable<T> för att jämföra värden.

Du kan använda den här metoden i en sekvens med godtyckliga värden om du anger en funktion, selector, som projicerar medlemmarna i source till en numerisk typ, särskilt Nullable<Single> i C# eller Nullable(Of Single) i Visual Basic.

I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.

Se även

Gäller för

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

Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala null-värdet Int64 .

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)

Typparametrar

TSource

Typen av element sourcei .

Parametrar

source
IEnumerable<TSource>

En sekvens med värden för att fastställa det maximala värdet för.

selector
Func<TSource,Nullable<Int64>>

En transformeringsfunktion som ska tillämpas på varje element.

Returer

Värdet som motsvarar det maximala värdet i sekvensen.

Undantag

source eller selector är null.

Exempel

Följande kodexempel visar hur du använder Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) för att fastställa det maximala värdet i en sekvens med beräknade värden.

Note

I det här kodexemplet används en överlagring av metoden som skiljer sig från den specifika överlagring som beskrivs i den här artikeln. Om du vill utöka exemplet till den överlagring som beskrivs i den här artikeln ändrar du funktionens selector brödtext.

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

Kommentarer

Metoden Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) använder implementeringen Int64 av IComparable<T> för att jämföra värden.

Du kan använda den här metoden i en sekvens med godtyckliga värden om du anger en funktion, selector, som projicerar medlemmarna i source till en numerisk typ, särskilt Nullable<Int64> i C# eller Nullable(Of Int64) i Visual Basic.

I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.

Se även

Gäller för

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

Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala null-värdet Int32 .

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)

Typparametrar

TSource

Typen av element sourcei .

Parametrar

source
IEnumerable<TSource>

En sekvens med värden för att fastställa det maximala värdet för.

selector
Func<TSource,Nullable<Int32>>

En transformeringsfunktion som ska tillämpas på varje element.

Returer

Värdet för typen Nullable<Int32> i C# eller Nullable(Of Int32) i Visual Basic som motsvarar det maximala värdet i sekvensen.

Undantag

source eller selector är null.

Exempel

Följande kodexempel visar hur du använder Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) för att fastställa det maximala värdet i en sekvens med beräknade värden.

Note

I det här kodexemplet används en överlagring av metoden som skiljer sig från den specifika överlagring som beskrivs i den här artikeln. Om du vill utöka exemplet till den överlagring som beskrivs i den här artikeln ändrar du funktionens selector brödtext.

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

Kommentarer

Metoden Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) använder implementeringen Int32 av IComparable<T> för att jämföra värden.

Du kan använda den här metoden i en sekvens med godtyckliga värden om du anger en funktion, selector, som projicerar medlemmarna i source till en numerisk typ, särskilt Nullable<Int32> i C# eller Nullable(Of Int32) i Visual Basic.

I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.

Se även

Gäller för

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

Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala null-värdet Double .

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)

Typparametrar

TSource

Typen av element sourcei .

Parametrar

source
IEnumerable<TSource>

En sekvens med värden för att fastställa det maximala värdet för.

selector
Func<TSource,Nullable<Double>>

En transformeringsfunktion som ska tillämpas på varje element.

Returer

Värdet för typen Nullable<Double> i C# eller Nullable(Of Double) i Visual Basic som motsvarar det maximala värdet i sekvensen.

Undantag

source eller selector är null.

Exempel

Följande kodexempel visar hur du använder Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) för att fastställa det maximala värdet i en sekvens med beräknade värden.

Note

I det här kodexemplet används en överlagring av metoden som skiljer sig från den specifika överlagring som beskrivs i den här artikeln. Om du vill utöka exemplet till den överlagring som beskrivs i den här artikeln ändrar du funktionens selector brödtext.

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

Kommentarer

Metoden Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) använder implementeringen Double av IComparable<T> för att jämföra värden.

Du kan använda den här metoden i en sekvens med godtyckliga värden om du anger en funktion, selector, som projicerar medlemmarna i source till en numerisk typ, särskilt Nullable<Double> i C# eller Nullable(Of Double) i Visual Basic.

I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.

Se även

Gäller för

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

Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala Int64 värdet.

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

Typparametrar

TSource

Typen av element sourcei .

Parametrar

source
IEnumerable<TSource>

En sekvens med värden för att fastställa det maximala värdet för.

selector
Func<TSource,Int64>

En transformeringsfunktion som ska tillämpas på varje element.

Returer

Maximalt värde i sekvensen.

Undantag

source eller selector är null.

source innehåller inga element.

Exempel

Följande kodexempel visar hur du använder Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) för att fastställa det maximala värdet i en sekvens med beräknade värden.

Note

I det här kodexemplet används en överlagring av metoden som skiljer sig från den specifika överlagring som beskrivs i den här artikeln. Om du vill utöka exemplet till den överlagring som beskrivs i den här artikeln ändrar du funktionens selector brödtext.

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

Kommentarer

Metoden Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) använder implementeringen Int64 av IComparable<T> för att jämföra värden.

Du kan använda den här metoden för en sekvens med godtyckliga värden om du anger en funktion, selector, som projicerar medlemmarna source i till en numerisk typ, särskilt Int64.

I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.

Se även

Gäller för

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

Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala Int32 värdet.

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

Typparametrar

TSource

Typen av element sourcei .

Parametrar

source
IEnumerable<TSource>

En sekvens med värden för att fastställa det maximala värdet för.

selector
Func<TSource,Int32>

En transformeringsfunktion som ska tillämpas på varje element.

Returer

Maximalt värde i sekvensen.

Undantag

source eller selector är null.

source innehåller inga element.

Exempel

Följande kodexempel visar hur du använder Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) för att fastställa det maximala värdet i en sekvens med beräknade värden.

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

Kommentarer

Metoden Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) använder implementeringen Int32 av IComparable<T> för att jämföra värden.

Du kan använda den här metoden för en sekvens med godtyckliga värden om du anger en funktion, selector, som projicerar medlemmarna source i till en numerisk typ, särskilt Int32.

I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.

Se även

Gäller för

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

Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala Double värdet.

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

Typparametrar

TSource

Typen av element sourcei .

Parametrar

source
IEnumerable<TSource>

En sekvens med värden för att fastställa det maximala värdet för.

selector
Func<TSource,Double>

En transformeringsfunktion som ska tillämpas på varje element.

Returer

Maximalt värde i sekvensen.

Undantag

source eller selector är null.

source innehåller inga element.

Exempel

Följande kodexempel visar hur du använder Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) för att fastställa det maximala värdet i en sekvens med beräknade värden.

Note

I det här kodexemplet används en överlagring av metoden som skiljer sig från den specifika överlagring som beskrivs i den här artikeln. Om du vill utöka exemplet till den överlagring som beskrivs i den här artikeln ändrar du funktionens selector brödtext.

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

Kommentarer

Metoden Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>) använder implementeringen Double av IComparable<T> för att jämföra värden.

Du kan använda den här metoden för en sekvens med godtyckliga värden om du anger en funktion, selector, som projicerar medlemmarna source i till en numerisk typ, särskilt Double.

I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.

Se även

Gäller för

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

Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala Decimal värdet.

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

Typparametrar

TSource

Typen av element sourcei .

Parametrar

source
IEnumerable<TSource>

En sekvens med värden för att fastställa det maximala värdet för.

selector
Func<TSource,Decimal>

En transformeringsfunktion som ska tillämpas på varje element.

Returer

Maximalt värde i sekvensen.

Undantag

source eller selector är null.

source innehåller inga element.

Exempel

Följande kodexempel visar hur du använder Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) för att fastställa det maximala värdet i en sekvens med beräknade värden.

Note

I det här kodexemplet används en överlagring av metoden som skiljer sig från den specifika överlagring som beskrivs i den här artikeln. Om du vill utöka exemplet till den överlagring som beskrivs i den här artikeln ändrar du funktionens selector brödtext.

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

Kommentarer

Metoden Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>) använder implementeringen Decimal av IComparable<T> för att jämföra värden.

Du kan använda den här metoden för en sekvens med godtyckliga värden om du anger en funktion, selector, som projicerar medlemmarna source i till en numerisk typ, särskilt Decimal.

I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.

Se även

Gäller för

Max<TSource>(IEnumerable<TSource>)

Returnerar det maximala värdet i en allmän sekvens.

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);
static member Max : seq<'Source> -> 'Source
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource)) As TSource

Typparametrar

TSource

Typen av element sourcei .

Parametrar

source
IEnumerable<TSource>

En sekvens med värden för att fastställa det maximala värdet för.

Returer

TSource

Maximalt värde i sekvensen.

Undantag

source är null.

Inget objekt i source implementerar IComparable gränssnittet eller IComparable<T> .

Exempel

Följande kodexempel visar hur du använder Max<TSource>(IEnumerable<TSource>) för att fastställa det maximala värdet i en sekvens med IComparable<T> objekt.

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

Kommentarer

Om typen TSource implementerar IComparable<T>använder metoden den Max<TSource>(IEnumerable<TSource>) implementeringen för att jämföra värden. Annars, om typen TSource implementerar IComparable, används implementeringen för att jämföra värden.

Om TSource är en referenstyp och källsekvensen är tom eller endast innehåller värden som är nullreturnerar nullden här metoden .

I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.

Se även

Gäller för

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

Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala null-värdet Decimal .

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)

Typparametrar

TSource

Typen av element sourcei .

Parametrar

source
IEnumerable<TSource>

En sekvens med värden för att fastställa det maximala värdet för.

selector
Func<TSource,Nullable<Decimal>>

En transformeringsfunktion som ska tillämpas på varje element.

Returer

Värdet för typen Nullable<Decimal> i C# eller Nullable(Of Decimal) i Visual Basic som motsvarar det maximala värdet i sekvensen.

Undantag

source eller selector är null.

Exempel

Följande kodexempel visar hur du använder Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) för att fastställa det maximala värdet i en sekvens med beräknade värden.

Note

I det här kodexemplet används en överlagring av metoden som skiljer sig från den specifika överlagring som beskrivs i den här artikeln. Om du vill utöka exemplet till den överlagring som beskrivs i den här artikeln ändrar du funktionens selector brödtext.

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

Kommentarer

Metoden Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) använder implementeringen Decimal av IComparable<T> för att jämföra värden.

Du kan använda den här metoden i en sekvens med godtyckliga värden om du anger en funktion, selector, som projicerar medlemmarna i source till en numerisk typ, särskilt Nullable<Decimal> i C# eller Nullable(Of Decimal) i Visual Basic.

I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.

Se även

Gäller för