Enumerable.Max Methode

Definition

Gibt den Höchstwert in einer Sequenz von Werten zurück

Überlädt

Max(IEnumerable<Nullable<Int32>>)

Gibt den Höchstwert in einer Sequenz von Int32-Werten zurück, die NULL-Werte zulassen

Max(IEnumerable<Single>)

Gibt den Höchstwert in einer Sequenz von Single-Werten zurück

Max(IEnumerable<Nullable<Single>>)

Gibt den Höchstwert in einer Sequenz von Single-Werten zurück, die NULL-Werte zulassen

Max(IEnumerable<Nullable<Int64>>)

Gibt den Höchstwert in einer Sequenz von Int64-Werten zurück, die NULL-Werte zulassen

Max(IEnumerable<Nullable<Double>>)

Gibt den Höchstwert in einer Sequenz von Double-Werten zurück, die NULL-Werte zulassen

Max(IEnumerable<Double>)

Gibt den Höchstwert in einer Sequenz von Double-Werten zurück

Max(IEnumerable<Int64>)

Gibt den Höchstwert in einer Sequenz von Int64-Werten zurück

Max(IEnumerable<Int32>)

Gibt den Höchstwert in einer Sequenz von Int32-Werten zurück

Max(IEnumerable<Decimal>)

Gibt den Höchstwert in einer Sequenz von Decimal-Werten zurück

Max(IEnumerable<Nullable<Decimal>>)

Gibt den Höchstwert in einer Sequenz von Decimal-Werten zurück, die NULL-Werte zulassen

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

Ruft für jedes Element einer generischen Sequenz eine Transformationsfunktion auf, und gibt den höchsten Ergebniswert zurück

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Single-Wert zurück

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Single-Wert zurück, der NULL-Werte zulässt

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Int64-Wert zurück, der NULL-Werte zulässt

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Int32-Wert zurück, der NULL-Werte zulässt

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Decimal-Wert zurück, der NULL-Werte zulässt

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Double-Wert zurück, der NULL-Werte zulässt

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Int32-Wert zurück

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Double-Wert zurück

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Decimal-Wert zurück

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

Gibt den Höchstwert in einer generischen Sequenz zurück

Max<TSource>(IEnumerable<TSource>)

Gibt den Höchstwert in einer generischen Sequenz zurück

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Int64-Wert zurück

Max(IEnumerable<Nullable<Int32>>)

Gibt den Höchstwert in einer Sequenz von Int32-Werten zurück, die NULL-Werte zulassen

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)

Parameter

source
IEnumerable<Nullable<Int32>>

Eine Sequenz von Int32-Werten, die NULL-Werte zulassen und deren Höchstwert bestimmt werden soll

Gibt zurück

Ein Wert vom Typ Nullable<Int32> in C# oder Nullable(Of Int32) Visual Basic, der dem Maximalwert in der Sequenz entspricht.

Ausnahmen

source ist null

Hinweise

Die Max(IEnumerable<Nullable<Int32>>) -Methode verwendet die Int32 -Implementierung von IComparable<T> , um Werte zu vergleichen.

Wenn die Quellsequenz leer ist oder nur Werte enthält, die sind null, gibt diese Funktion zurück null.

In der Visual Basic-Abfrageausdruckssyntax wird eine Aggregate Into Max() -Klausel in einen Aufruf von Maxübersetzt.

Weitere Informationen

Gilt für:

Max(IEnumerable<Single>)

Gibt den Höchstwert in einer Sequenz von Single-Werten zurück

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

Parameter

source
IEnumerable<Single>

Eine Sequenz von Single-Werten, deren Höchstwert bestimmt werden soll

Gibt zurück

Der Höchstwert in der Sequenz.

Ausnahmen

source ist null.

source enthält keine Elemente.

Hinweise

Die Max(IEnumerable<Single>) -Methode verwendet die Single -Implementierung von IComparable<T> , um Werte zu vergleichen.

In der Visual Basic-Abfrageausdruckssyntax wird eine Aggregate Into Max() -Klausel in einen Aufruf von Maxübersetzt.

Weitere Informationen

Gilt für:

Max(IEnumerable<Nullable<Single>>)

Gibt den Höchstwert in einer Sequenz von Single-Werten zurück, die NULL-Werte zulassen

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)

Parameter

source
IEnumerable<Nullable<Single>>

Eine Sequenz von Single-Werten, die NULL-Werte zulassen und deren Höchstwert bestimmt werden soll

Gibt zurück

Ein Wert vom Typ Nullable<Single> in C# oder Nullable(Of Single) Visual Basic, der dem Maximalwert in der Sequenz entspricht.

Ausnahmen

source ist null

Hinweise

Die Max(IEnumerable<Nullable<Single>>) -Methode verwendet die Single -Implementierung von IComparable<T> , um Werte zu vergleichen.

Wenn die Quellsequenz leer ist oder nur Werte enthält, die sind null, gibt diese Funktion zurück null.

In der Visual Basic-Abfrageausdruckssyntax wird eine Aggregate Into Max() -Klausel in einen Aufruf von Maxübersetzt.

Weitere Informationen

Gilt für:

Max(IEnumerable<Nullable<Int64>>)

Gibt den Höchstwert in einer Sequenz von Int64-Werten zurück, die NULL-Werte zulassen

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)

Parameter

source
IEnumerable<Nullable<Int64>>

Eine Sequenz von Int64-Werten, die NULL-Werte zulassen und deren Höchstwert bestimmt werden soll

Gibt zurück

Ein Wert vom Typ Nullable<Int64> in C# oder Nullable(Of Int64) Visual Basic, der dem Maximalwert in der Sequenz entspricht.

Ausnahmen

source ist null

Hinweise

Die Max(IEnumerable<Nullable<Int64>>) -Methode verwendet die Int64 -Implementierung von IComparable<T> , um Werte zu vergleichen.

Wenn die Quellsequenz leer ist oder nur Werte enthält, die sind null, gibt diese Funktion zurück null.

In der Visual Basic-Abfrageausdruckssyntax wird eine Aggregate Into Max() -Klausel in einen Aufruf von Maxübersetzt.

Weitere Informationen

Gilt für:

Max(IEnumerable<Nullable<Double>>)

Gibt den Höchstwert in einer Sequenz von Double-Werten zurück, die NULL-Werte zulassen

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)

Parameter

source
IEnumerable<Nullable<Double>>

Eine Sequenz von Double-Werten, die NULL-Werte zulassen und deren Höchstwert bestimmt werden soll

Gibt zurück

Ein Wert vom Typ Nullable<Double> in C# oder Nullable(Of Double) Visual Basic, der dem Maximalwert in der Sequenz entspricht.

Ausnahmen

source ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie sie verwenden Max(IEnumerable<Nullable<Double>>) , um den maximalen Wert in einer Sequenz zu bestimmen.

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

Hinweise

Die Max(IEnumerable<Nullable<Double>>) -Methode verwendet die Double -Implementierung von IComparable<T> , um Werte zu vergleichen.

Wenn die Quellsequenz leer ist oder nur Werte enthält, die sind null, gibt diese Funktion zurück null.

In der Visual Basic-Abfrageausdruckssyntax wird eine Aggregate Into Max() -Klausel in einen Aufruf von Maxübersetzt.

Weitere Informationen

Gilt für:

Max(IEnumerable<Double>)

Gibt den Höchstwert in einer Sequenz von Double-Werten zurück

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

Parameter

source
IEnumerable<Double>

Eine Sequenz von Double-Werten, deren Höchstwert bestimmt werden soll

Gibt zurück

Der Höchstwert in der Sequenz.

Ausnahmen

source ist null.

source enthält keine Elemente.

Hinweise

Die Max(IEnumerable<Double>) -Methode verwendet die Double -Implementierung von IComparable<T> , um Werte zu vergleichen.

In der Visual Basic-Abfrageausdruckssyntax wird eine Aggregate Into Max() -Klausel in einen Aufruf von Maxübersetzt.

Weitere Informationen

Gilt für:

Max(IEnumerable<Int64>)

Gibt den Höchstwert in einer Sequenz von Int64-Werten zurück

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

Parameter

source
IEnumerable<Int64>

Eine Sequenz von Int64-Werten, deren Höchstwert bestimmt werden soll

Gibt zurück

Der Höchstwert in der Sequenz.

Ausnahmen

source ist null.

source enthält keine Elemente.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie sie verwenden Max(IEnumerable<Int64>) , um den maximalen Wert in einer Sequenz zu bestimmen.

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

Hinweise

Die Max(IEnumerable<Int64>) Methode verwendet die Int64 Implementierung von IComparable<T> , um Werte zu vergleichen.

In der Visual Basic-Abfrageausdruckssyntax wird eine Aggregate Into Max() -Klausel in einen Aufruf von Maxübersetzt.

Weitere Informationen

Gilt für:

Max(IEnumerable<Int32>)

Gibt den Höchstwert in einer Sequenz von Int32-Werten zurück

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

Parameter

source
IEnumerable<Int32>

Eine Sequenz von Int32-Werten, deren Höchstwert bestimmt werden soll

Gibt zurück

Der Höchstwert in der Sequenz.

Ausnahmen

source ist null.

source enthält keine Elemente.

Hinweise

Die Max(IEnumerable<Int32>) Methode verwendet die Int32 Implementierung von IComparable<T> , um Werte zu vergleichen.

In der Visual Basic-Abfrageausdruckssyntax wird eine Aggregate Into Max() -Klausel in einen Aufruf von Maxübersetzt.

Weitere Informationen

Gilt für:

Max(IEnumerable<Decimal>)

Gibt den Höchstwert in einer Sequenz von Decimal-Werten zurück

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

Parameter

source
IEnumerable<Decimal>

Eine Sequenz von Decimal-Werten, deren Höchstwert bestimmt werden soll

Gibt zurück

Der Höchstwert in der Sequenz.

Ausnahmen

source ist null.

source enthält keine Elemente.

Hinweise

Die Max(IEnumerable<Decimal>) Methode verwendet die Decimal Implementierung von IComparable<T> , um Werte zu vergleichen.

In der Visual Basic-Abfrageausdruckssyntax wird eine Aggregate Into Max() -Klausel in einen Aufruf von Maxübersetzt.

Weitere Informationen

Gilt für:

Max(IEnumerable<Nullable<Decimal>>)

Gibt den Höchstwert in einer Sequenz von Decimal-Werten zurück, die NULL-Werte zulassen

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)

Parameter

source
IEnumerable<Nullable<Decimal>>

Eine Sequenz von Decimal-Werten, die NULL-Werte zulassen und deren Höchstwert bestimmt werden soll

Gibt zurück

Ein Wert vom Typ Nullable<Decimal> in C# oder Nullable(Of Decimal) in Visual Basic, der dem Maximalwert in der Sequenz entspricht.

Ausnahmen

source ist null

Hinweise

Die Max(IEnumerable<Nullable<Decimal>>) Methode verwendet die Decimal Implementierung von IComparable<T> , um Werte zu vergleichen.

Wenn die Quellsequenz leer ist oder nur Werte enthält, die sind null, gibt diese Funktion zurück null.

In der Visual Basic-Abfrageausdruckssyntax wird eine Aggregate Into Max() -Klausel in einen Aufruf von Maxübersetzt.

Weitere Informationen

Gilt für:

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

Ruft für jedes Element einer generischen Sequenz eine Transformationsfunktion auf, und gibt den höchsten Ergebniswert zurück

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

Typparameter

TSource

Der Typ der Elemente von source.

TResult

Der Typ des von selector zurückgegebenen Werts.

Parameter

source
IEnumerable<TSource>

Eine Sequenz von Werten, deren Höchstwert bestimmt werden soll.

selector
Func<TSource,TResult>

Eine Transformationsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

TResult

Der Höchstwert in der Sequenz.

Ausnahmen

source oder selector ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) der Maximalwert in einer Sequenz von projizierten Werten bestimmt wird.

Hinweis

In diesem Codebeispiel wird eine Überladung der Methode verwendet, die sich von der spezifischen Überladung unterscheidet, die in diesem Artikel beschrieben wird. Um das Beispiel auf die In diesem Artikel beschriebene Überladung zu erweitern, ändern Sie den Textkörper der selector Funktion.

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

Hinweise

Wenn type TResult implementiert ist IComparable<T>, verwendet diese Methode diese Implementierung zum Vergleichen von Werten. Andernfalls wird diese Implementierung verwendet, um Werte zu vergleichen, wenn type TResult implementiert IComparablewird.

In der Visual Basic-Abfrageausdruckssyntax wird eine Aggregate Into Max() -Klausel in einen Aufruf von Maxübersetzt.

Weitere Informationen

Gilt für:

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Single-Wert zurück

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

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

Eine Sequenz von Werten, deren Höchstwert bestimmt werden soll.

selector
Func<TSource,Single>

Eine Transformationsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Der Höchstwert in der Sequenz.

Ausnahmen

source oder selector ist null.

source enthält keine Elemente.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) der Maximalwert in einer Sequenz von projizierten Werten bestimmt wird.

Hinweis

In diesem Codebeispiel wird eine Überladung der Methode verwendet, die sich von der spezifischen Überladung unterscheidet, die in diesem Artikel beschrieben wird. Um das Beispiel auf die In diesem Artikel beschriebene Überladung zu erweitern, ändern Sie den Textkörper der selector Funktion.

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

Hinweise

Die Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>) Methode verwendet die Single Implementierung von IComparable<T> , um Werte zu vergleichen.

Sie können diese Methode auf eine Sequenz beliebiger Werte anwenden, wenn Sie eine Funktion bereitstellen, selectordie die Member von source in einen numerischen Typ projiziert, insbesondere Single.

In der Visual Basic-Abfrageausdruckssyntax wird eine Aggregate Into Max() -Klausel in einen Aufruf von Maxübersetzt.

Weitere Informationen

Gilt für:

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Single-Wert zurück, der NULL-Werte zulässt

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)

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

Eine Sequenz von Werten, deren Höchstwert bestimmt werden soll.

selector
Func<TSource,Nullable<Single>>

Eine Transformationsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Der Wert des Typs Nullable<Single> in C# oder Nullable(Of Single) in Visual Basic, der dem Maximalwert in der Sequenz entspricht.

Ausnahmen

source oder selector ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) der Maximalwert in einer Sequenz von projizierten Werten bestimmt wird.

Hinweis

In diesem Codebeispiel wird eine Überladung der Methode verwendet, die sich von der spezifischen Überladung unterscheidet, die in diesem Artikel beschrieben wird. Um das Beispiel auf die In diesem Artikel beschriebene Überladung zu erweitern, ändern Sie den Textkörper der selector Funktion.

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

Hinweise

Die Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) Methode verwendet die Single Implementierung von IComparable<T> , um Werte zu vergleichen.

Sie können diese Methode auf eine Sequenz beliebiger Werte anwenden, wenn Sie eine Funktion bereitstellen, selectordie die Member von source in einen numerischen Typ projiziert, insbesondere Nullable<Single> in C# oder Nullable(Of Single) in Visual Basic.

In der Visual Basic-Abfrageausdruckssyntax wird eine Aggregate Into Max() -Klausel in einen Aufruf von Maxübersetzt.

Weitere Informationen

Gilt für:

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Int64-Wert zurück, der NULL-Werte zulässt

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)

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

Eine Sequenz von Werten, deren Höchstwert bestimmt werden soll.

selector
Func<TSource,Nullable<Int64>>

Eine Transformationsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Der Wert des Typs Nullable<Int64> in C# oder Nullable(Of Int64) in Visual Basic, der dem Maximalwert in der Sequenz entspricht.

Ausnahmen

source oder selector ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) der Maximalwert in einer Sequenz von projizierten Werten bestimmt wird.

Hinweis

In diesem Codebeispiel wird eine Überladung der Methode verwendet, die sich von der spezifischen Überladung unterscheidet, die in diesem Artikel beschrieben wird. Um das Beispiel auf die In diesem Artikel beschriebene Überladung zu erweitern, ändern Sie den Textkörper der selector Funktion.

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

Hinweise

Die Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) Methode verwendet die Int64 Implementierung von IComparable<T> , um Werte zu vergleichen.

Sie können diese Methode auf eine Sequenz beliebiger Werte anwenden, wenn Sie eine Funktion bereitstellen, selectordie die Member von source in einen numerischen Typ projiziert, insbesondere Nullable<Int64> in C# oder Nullable(Of Int64) in Visual Basic.

In der Visual Basic-Abfrageausdruckssyntax wird eine Aggregate Into Max() -Klausel in einen Aufruf von Maxübersetzt.

Weitere Informationen

Gilt für:

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Int32-Wert zurück, der NULL-Werte zulässt

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)

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

Eine Sequenz von Werten, deren Höchstwert bestimmt werden soll.

selector
Func<TSource,Nullable<Int32>>

Eine Transformationsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Der Wert des Typs Nullable<Int32> in C# oder Nullable(Of Int32) in Visual Basic, der dem Maximalwert in der Sequenz entspricht.

Ausnahmen

source oder selector ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) der Maximalwert in einer Sequenz von projizierten Werten bestimmt wird.

Hinweis

In diesem Codebeispiel wird eine Überladung der Methode verwendet, die sich von der spezifischen Überladung unterscheidet, die in diesem Artikel beschrieben wird. Um das Beispiel auf die In diesem Artikel beschriebene Überladung zu erweitern, ändern Sie den Textkörper der selector Funktion.

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

Hinweise

Die Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) Methode verwendet die Int32 Implementierung von IComparable<T> , um Werte zu vergleichen.

Sie können diese Methode auf eine Sequenz beliebiger Werte anwenden, wenn Sie eine Funktion bereitstellen, selectordie die Member von source in einen numerischen Typ projiziert, insbesondere Nullable<Int32> in C# oder Nullable(Of Int32) in Visual Basic.

In der Visual Basic-Abfrageausdruckssyntax wird eine Aggregate Into Max() -Klausel in einen Aufruf von Maxübersetzt.

Weitere Informationen

Gilt für:

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Decimal-Wert zurück, der NULL-Werte zulässt

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)

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

Eine Sequenz von Werten, deren Höchstwert bestimmt werden soll.

selector
Func<TSource,Nullable<Decimal>>

Eine Transformationsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Der Wert des Typs Nullable<Decimal> in C# oder Nullable(Of Decimal) in Visual Basic, der dem Maximalwert in der Sequenz entspricht.

Ausnahmen

source oder selector ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) der Maximalwert in einer Sequenz von projizierten Werten bestimmt wird.

Hinweis

In diesem Codebeispiel wird eine Überladung der Methode verwendet, die sich von der spezifischen Überladung unterscheidet, die in diesem Artikel beschrieben wird. Um das Beispiel auf die In diesem Artikel beschriebene Überladung zu erweitern, ändern Sie den Textkörper der selector Funktion.

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

Hinweise

Die Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) Methode verwendet die Decimal Implementierung von IComparable<T> , um Werte zu vergleichen.

Sie können diese Methode auf eine Sequenz beliebiger Werte anwenden, wenn Sie eine Funktion bereitstellen, selectordie die Member von source in einen numerischen Typ projiziert, insbesondere Nullable<Decimal> in C# oder Nullable(Of Decimal) in Visual Basic.

In der Visual Basic-Abfrageausdruckssyntax wird eine Aggregate Into Max() -Klausel in einen Aufruf von Maxübersetzt.

Weitere Informationen

Gilt für:

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Double-Wert zurück, der NULL-Werte zulässt

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)

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

Eine Sequenz von Werten, deren Höchstwert bestimmt werden soll.

selector
Func<TSource,Nullable<Double>>

Eine Transformationsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Der Wert des Typs Nullable<Double> in C# oder Nullable(Of Double) in Visual Basic, der dem Maximalwert in der Sequenz entspricht.

Ausnahmen

source oder selector ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) der Maximalwert in einer Sequenz von projizierten Werten bestimmt wird.

Hinweis

In diesem Codebeispiel wird eine Überladung der Methode verwendet, die sich von der spezifischen Überladung unterscheidet, die in diesem Artikel beschrieben wird. Um das Beispiel auf die In diesem Artikel beschriebene Überladung zu erweitern, ändern Sie den Textkörper der selector Funktion.

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

Hinweise

Die Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) Methode verwendet die Double Implementierung von IComparable<T> , um Werte zu vergleichen.

Sie können diese Methode auf eine Sequenz beliebiger Werte anwenden, wenn Sie eine Funktion bereitstellen, selectordie die Member von source in einen numerischen Typ projiziert, insbesondere Nullable<Double> in C# oder Nullable(Of Double) in Visual Basic.

In der Visual Basic-Abfrageausdruckssyntax wird eine Aggregate Into Max() -Klausel in einen Aufruf von Maxübersetzt.

Weitere Informationen

Gilt für:

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Int32-Wert zurück

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

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

Eine Sequenz von Werten, deren Höchstwert bestimmt werden soll.

selector
Func<TSource,Int32>

Eine Transformationsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Der Höchstwert in der Sequenz.

Ausnahmen

source oder selector ist null.

source enthält keine Elemente.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) der Maximalwert in einer Sequenz von projizierten Werten bestimmt wird.

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

public static void 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

Hinweise

Die Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) Methode verwendet die Int32 Implementierung von IComparable<T> , um Werte zu vergleichen.

Sie können diese Methode auf eine Sequenz beliebiger Werte anwenden, wenn Sie eine Funktion bereitstellen, selectordie die Member von source in einen numerischen Typ projiziert, insbesondere Int32.

In der Visual Basic-Abfrageausdruckssyntax wird eine Aggregate Into Max() -Klausel in einen Aufruf von Maxübersetzt.

Weitere Informationen

Gilt für:

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Double-Wert zurück

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

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

Eine Sequenz von Werten, deren Höchstwert bestimmt werden soll.

selector
Func<TSource,Double>

Eine Transformationsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Der Höchstwert in der Sequenz.

Ausnahmen

source oder selector ist null.

source enthält keine Elemente.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) der Maximalwert in einer Sequenz von projizierten Werten bestimmt wird.

Hinweis

In diesem Codebeispiel wird eine Überladung der Methode verwendet, die sich von der spezifischen Überladung unterscheidet, die in diesem Artikel beschrieben wird. Um das Beispiel auf die In diesem Artikel beschriebene Überladung zu erweitern, ändern Sie den Textkörper der selector Funktion.

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

Hinweise

Die Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>) Methode verwendet die Double Implementierung von IComparable<T> , um Werte zu vergleichen.

Sie können diese Methode auf eine Sequenz beliebiger Werte anwenden, wenn Sie eine Funktion bereitstellen, selectordie die Member von source in einen numerischen Typ projiziert, insbesondere Double.

In der Visual Basic-Abfrageausdruckssyntax wird eine Aggregate Into Max() -Klausel in einen Aufruf von Maxübersetzt.

Weitere Informationen

Gilt für:

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Decimal-Wert zurück

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

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

Eine Sequenz von Werten, deren Höchstwert bestimmt werden soll.

selector
Func<TSource,Decimal>

Eine Transformationsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Der Höchstwert in der Sequenz.

Ausnahmen

source oder selector ist null.

source enthält keine Elemente.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) der Maximalwert in einer Sequenz von projizierten Werten bestimmt wird.

Hinweis

In diesem Codebeispiel wird eine Überladung der Methode verwendet, die sich von der spezifischen Überladung unterscheidet, die in diesem Artikel beschrieben wird. Um das Beispiel auf die In diesem Artikel beschriebene Überladung zu erweitern, ändern Sie den Textkörper der selector Funktion.

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

Hinweise

Die Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>) Methode verwendet die Decimal Implementierung von IComparable<T> , um Werte zu vergleichen.

Sie können diese Methode auf eine Sequenz beliebiger Werte anwenden, wenn Sie eine Funktion bereitstellen, selectordie die Member von source in einen numerischen Typ projiziert, insbesondere Decimal.

In der Visual Basic-Abfrageausdruckssyntax wird eine Aggregate Into Max() -Klausel in einen Aufruf von Maxübersetzt.

Weitere Informationen

Gilt für:

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

Gibt den Höchstwert in einer generischen Sequenz zurück

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

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

Eine Sequenz von Werten, deren Höchstwert bestimmt werden soll.

comparer
IComparer<TSource>

Der IComparer<T> zum Vergleichen von Werten

Gibt zurück

TSource

Der Höchstwert in der Sequenz.

Ausnahmen

source ist null.

Kein Objekt in source implementiert die IComparable- oder IComparable<T>-Schnittstelle.

Hinweise

Wenn type TSource implementiert ist IComparable<T>, verwendet die Max<TSource>(IEnumerable<TSource>) Methode diese Implementierung, um Werte zu vergleichen. Andernfalls wird diese Implementierung verwendet, um Werte zu vergleichen, wenn type TSource implementiert IComparablewird.

Wenn TSource es sich um einen Verweistyp handelt und die Quellsequenz leer ist oder nur Werte enthält, gibt nulldiese Methode zurück null.

In der Visual Basic-Abfrageausdruckssyntax wird eine Aggregate Into Max() -Klausel in einen Aufruf von Maxübersetzt.

Gilt für:

Max<TSource>(IEnumerable<TSource>)

Gibt den Höchstwert in einer generischen Sequenz zurück

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

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

Eine Sequenz von Werten, deren Höchstwert bestimmt werden soll.

Gibt zurück

TSource

Der Höchstwert in der Sequenz.

Ausnahmen

source ist null.

Kein Objekt in source implementiert die IComparable- oder IComparable<T>-Schnittstelle.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Max<TSource>(IEnumerable<TSource>) der Maximalwert in einer Sequenz von IComparable<T> -Objekten bestimmt wird.

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

Hinweise

Wenn type TSource implementiert ist IComparable<T>, verwendet die Max<TSource>(IEnumerable<TSource>) Methode diese Implementierung, um Werte zu vergleichen. Andernfalls wird diese Implementierung verwendet, um Werte zu vergleichen, wenn type TSource implementiert IComparablewird.

Wenn TSource es sich um einen Verweistyp handelt und die Quellsequenz leer ist oder nur Werte enthält, gibt nulldiese Methode zurück null.

In der Visual Basic-Abfrageausdruckssyntax wird eine Aggregate Into Max() -Klausel in einen Aufruf von Maxübersetzt.

Weitere Informationen

Gilt für:

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

Ruft für jedes Element einer Sequenz eine Transformationsfunktion auf, und gibt den maximalen Int64-Wert zurück

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

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IEnumerable<TSource>

Eine Sequenz von Werten, deren Höchstwert bestimmt werden soll.

selector
Func<TSource,Int64>

Eine Transformationsfunktion, die auf jedes Element angewendet werden soll.

Gibt zurück

Der Höchstwert in der Sequenz.

Ausnahmen

source oder selector ist null.

source enthält keine Elemente.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) der Maximalwert in einer Sequenz von projizierten Werten bestimmt wird.

Hinweis

In diesem Codebeispiel wird eine Überladung der Methode verwendet, die sich von der spezifischen Überladung unterscheidet, die in diesem Artikel beschrieben wird. Um das Beispiel auf die In diesem Artikel beschriebene Überladung zu erweitern, ändern Sie den Textkörper der selector Funktion.

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

Hinweise

Die Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) Methode verwendet die Int64 Implementierung von IComparable<T> , um Werte zu vergleichen.

Sie können diese Methode auf eine Sequenz beliebiger Werte anwenden, wenn Sie eine Funktion bereitstellen, selectordie die Member von source in einen numerischen Typ projiziert, insbesondere Int64.

In der Visual Basic-Abfrageausdruckssyntax wird eine Aggregate Into Max() -Klausel in einen Aufruf von Maxübersetzt.

Weitere Informationen

Gilt für: