Enumerable.Max Methode

Definition

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

Überlädt

Max(IEnumerable<Nullable<Single>>)

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

Max(IEnumerable<Decimal>)

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

Max(IEnumerable<Double>)

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

Max(IEnumerable<Int32>)

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

Max(IEnumerable<Int64>)

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

Max(IEnumerable<Nullable<Decimal>>)

Gibt den Höchstwert in einer Sequenz von Decimal-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<Nullable<Int32>>)

Gibt den Höchstwert in einer Sequenz von Int32-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<Single>)

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

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>, IComparer<TSource>)

Gibt den Höchstwert in einer generischen Sequenz 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>, 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,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,Int64>)

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

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

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

Max<TSource>(IEnumerable<TSource>)

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

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

Nullable<Single>

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

Ausnahmen

source ist null.

Hinweise

Die Max(IEnumerable<Nullable<Single>>) Methode verwendet die Single Implementierung von Werten zum Vergleichen von IComparable<T> Werten.

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

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

Siehe auch

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

Decimal

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> Werten, um Werte zu vergleichen.

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

Siehe auch

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

Double

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> Werten, um Werte zu vergleichen.

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

Siehe auch

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

Int32

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> Werten, um Werte zu vergleichen.

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

Siehe auch

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

Int64

Der Höchstwert in der Sequenz.

Ausnahmen

source ist null.

source enthält keine Elemente.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie sie zum Bestimmen des Maximalwerts in einer Sequenz verwendet Max(IEnumerable<Int64>) werden.

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 Werten zum Vergleichen von IComparable<T> Werten.

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

Siehe auch

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

Nullable<Decimal>

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

Ausnahmen

source ist null.

Hinweise

Die Max(IEnumerable<Nullable<Decimal>>) Methode verwendet die Decimal Implementierung von Werten zum Vergleichen von IComparable<T> Werten.

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

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

Siehe auch

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

Nullable<Double>

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

Ausnahmen

source ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie sie zum Bestimmen des Maximalwerts in einer Sequenz verwendet Max(IEnumerable<Nullable<Double>>) werden.

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 Werten zum Vergleichen von IComparable<T> Werten.

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

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

Siehe auch

Gilt für:

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

Nullable<Int32>

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

Ausnahmen

source ist null.

Hinweise

Die Max(IEnumerable<Nullable<Int32>>) Methode verwendet die Int32 Implementierung von Werten zum Vergleichen von IComparable<T> Werten.

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

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

Siehe auch

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

Nullable<Int64>

Ein Wert vom Typ Nullable<Int64> in C# oder Nullable(Of Int64) in Visual Studio, der dem Höchstwert in der Sequenz entspricht

Ausnahmen

source ist null.

Hinweise

Die Max(IEnumerable<Nullable<Int64>>) Methode verwendet die Int64 Implementierung von Werten zum Vergleichen von IComparable<T> Werten.

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

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

Siehe auch

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

Single

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 Werten zum Vergleichen von IComparable<T> Werten.

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

Siehe auch

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 der Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) Maximalwert in einer Sequenz projizierter Werte ermittelt wird.

Hinweis

In diesem Codebeispiel wird eine Überladung der -Methode verwendet, die sich von der spezifischen Überladung, die in diesem Artikel beschrieben wird, unterscheiden. Um das Beispiel auf die -Überladung zu erweitern, die in diesem Artikel beschrieben wird, ändern Sie den Text 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 der Typ TResult implementiert IComparable<T>, verwendet diese Methode diese Implementierung, um Werte zu vergleichen. Andernfalls wird diese Implementierung verwendet, TResult IComparableum Werte zu vergleichen.

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

Siehe auch

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 der Typ TSource implementiert IComparable<T>wird, verwendet die Max<TSource>(IEnumerable<TSource>) Methode diese Implementierung, um Werte zu vergleichen. Andernfalls wird diese Implementierung verwendet, TSource IComparableum Werte zu vergleichen.

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

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

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

Decimal

Der Höchstwert in der Sequenz.

Ausnahmen

source oder selector ist null.

source enthält keine Elemente.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie der Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) Maximalwert in einer Sequenz projizierter Werte ermittelt wird.

Hinweis

In diesem Codebeispiel wird eine Überladung der -Methode verwendet, die sich von der spezifischen Überladung, die in diesem Artikel beschrieben wird, unterscheiden. Um das Beispiel auf die -Überladung zu erweitern, die in diesem Artikel beschrieben wird, ändern Sie den Text 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 Werten zum Vergleichen von IComparable<T> Werten.

Sie können diese Methode auf eine Sequenz beliebiger Werte anwenden, wenn Sie eine Funktion bereitstellen, selectordie die Elemente eines source numerischen Typs projiziert, insbesondere Decimal.

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

Siehe auch

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

Double

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>) Sie den maximalen Wert in einer Sequenz von projizierten Werten bestimmen.

Hinweis

In diesem Codebeispiel wird eine Überladung der -Methode verwendet, die sich von der spezifischen Überladung, die in diesem Artikel beschrieben wird, unterscheiden. Um das Beispiel auf die -Überladung zu erweitern, die in diesem Artikel beschrieben wird, ändern Sie den Text 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> Werten, um Werte zu vergleichen.

Sie können diese Methode auf eine Sequenz beliebiger Werte anwenden, wenn Sie eine Funktion bereitstellen, selectordass die Elemente source eines numerischen Typs in einen numerischen Typ projiziert werden.Double

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

Siehe auch

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

Int32

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>) Sie den maximalen Wert in einer Sequenz von projizierten Werten bestimmen.

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> Werten, um Werte zu vergleichen.

Sie können diese Methode auf eine Sequenz beliebiger Werte anwenden, wenn Sie eine Funktion bereitstellen, selectordass die Elemente source eines numerischen Typs in einen numerischen Typ projiziert werden.Int32

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

Siehe auch

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

Int64

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>) Sie den maximalen Wert in einer Sequenz von projizierten Werten bestimmen.

Hinweis

In diesem Codebeispiel wird eine Überladung der -Methode verwendet, die sich von der spezifischen Überladung, die in diesem Artikel beschrieben wird, unterscheiden. Um das Beispiel auf die -Überladung zu erweitern, die in diesem Artikel beschrieben wird, ändern Sie den Text 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> Werten, um Werte zu vergleichen.

Sie können diese Methode auf eine Sequenz beliebiger Werte anwenden, wenn Sie eine Funktion bereitstellen, selectordass die Elemente source eines numerischen Typs in einen numerischen Typ projiziert werden.Int64

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

Siehe auch

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

Nullable<Decimal>

Der Wert vom Typ Nullable<Decimal> in C# oder Nullable(Of Decimal) in Visual Basic, der dem Höchstwert in der Sequenz entspricht

Ausnahmen

source oder selector ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) Sie den maximalen Wert in einer Sequenz von projizierten Werten bestimmen.

Hinweis

In diesem Codebeispiel wird eine Überladung der -Methode verwendet, die sich von der spezifischen Überladung, die in diesem Artikel beschrieben wird, unterscheiden. Um das Beispiel auf die -Überladung zu erweitern, die in diesem Artikel beschrieben wird, ändern Sie den Text 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> Werten, um Werte zu vergleichen.

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

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

Siehe auch

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

Nullable<Double>

Der Wert vom Typ Nullable<Double> in C# oder Nullable(Of Double) in Visual Basic, der dem Höchstwert in der Sequenz entspricht

Ausnahmen

source oder selector ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) Sie den maximalen Wert in einer Sequenz von projizierten Werten bestimmen.

Hinweis

In diesem Codebeispiel wird eine Überladung der -Methode verwendet, die sich von der spezifischen Überladung, die in diesem Artikel beschrieben wird, unterscheiden. Um das Beispiel auf die -Überladung zu erweitern, die in diesem Artikel beschrieben wird, ändern Sie den Text 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> Werten, um Werte zu vergleichen.

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

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

Siehe auch

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

Nullable<Int32>

Der Wert vom Typ Nullable<Int32> in C# oder Nullable(Of Int32) in Visual Basic, der dem Höchstwert in der Sequenz entspricht

Ausnahmen

source oder selector ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) Sie den maximalen Wert in einer Sequenz von projizierten Werten bestimmen.

Hinweis

In diesem Codebeispiel wird eine Überladung der -Methode verwendet, die sich von der spezifischen Überladung, die in diesem Artikel beschrieben wird, unterscheiden. Um das Beispiel auf die -Überladung zu erweitern, die in diesem Artikel beschrieben wird, ändern Sie den Text 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> Werten, um Werte zu vergleichen.

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

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

Siehe auch

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

Nullable<Int64>

Der Wert vom Typ Nullable<Int64> in C# oder Nullable(Of Int64) in Visual Basic, der dem Höchstwert in der Sequenz entspricht

Ausnahmen

source oder selector ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) Sie den maximalen Wert in einer Sequenz von projizierten Werten bestimmen.

Hinweis

In diesem Codebeispiel wird eine Überladung der -Methode verwendet, die sich von der spezifischen Überladung, die in diesem Artikel beschrieben wird, unterscheiden. Um das Beispiel auf die -Überladung zu erweitern, die in diesem Artikel beschrieben wird, ändern Sie den Text 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> Werten, um Werte zu vergleichen.

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

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

Siehe auch

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

Nullable<Single>

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

Ausnahmen

source oder selector ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) Sie den maximalen Wert in einer Sequenz von projizierten Werten bestimmen.

Hinweis

In diesem Codebeispiel wird eine Überladung der -Methode verwendet, die sich von der spezifischen Überladung, die in diesem Artikel beschrieben wird, unterscheiden. Um das Beispiel auf die -Überladung zu erweitern, die in diesem Artikel beschrieben wird, ändern Sie den Text 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> Werten, um Werte zu vergleichen.

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

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

Siehe auch

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

Single

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>) Sie den maximalen Wert in einer Sequenz von projizierten Werten bestimmen.

Hinweis

In diesem Codebeispiel wird eine Überladung der -Methode verwendet, die sich von der spezifischen Überladung, die in diesem Artikel beschrieben wird, unterscheiden. Um das Beispiel auf die -Überladung zu erweitern, die in diesem Artikel beschrieben wird, ändern Sie den Text 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> Werten, um Werte zu vergleichen.

Sie können diese Methode auf eine Sequenz beliebiger Werte anwenden, wenn Sie eine Funktion bereitstellen, selectordass die Elemente source eines numerischen Typs in einen numerischen Typ projiziert werden.Single

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

Siehe auch

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 der Max<TSource>(IEnumerable<TSource>) 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 der Typ TSource implementiert IComparable<T>wird, verwendet die Max<TSource>(IEnumerable<TSource>) Methode diese Implementierung, um Werte zu vergleichen. Andernfalls wird diese Implementierung verwendet, TSource IComparableum Werte zu vergleichen.

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

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

Siehe auch

Gilt für: