Enumerable.Max Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Returnerar det maximala värdet i en sekvens med värden.
Överlagringar
| Name | Description |
|---|---|
| Max(IEnumerable<Nullable<Single>>) |
Returnerar det maximala värdet i en sekvens med null-värden Single . |
| Max(IEnumerable<Int32>) |
Returnerar det maximala värdet i en sekvens med Int32 värden. |
| Max(IEnumerable<Nullable<Int64>>) |
Returnerar det maximala värdet i en sekvens med null-värden Int64 . |
| Max(IEnumerable<Single>) |
Returnerar det maximala värdet i en sekvens med Single värden. |
| Max(IEnumerable<Nullable<Int32>>) |
Returnerar det maximala värdet i en sekvens med null-värden Int32 . |
| Max(IEnumerable<Decimal>) |
Returnerar det maximala värdet i en sekvens med Decimal värden. |
| Max(IEnumerable<Nullable<Decimal>>) |
Returnerar det maximala värdet i en sekvens med null-värden Decimal . |
| Max(IEnumerable<Int64>) |
Returnerar det maximala värdet i en sekvens med Int64 värden. |
| Max(IEnumerable<Double>) |
Returnerar det maximala värdet i en sekvens med Double värden. |
| Max(IEnumerable<Nullable<Double>>) |
Returnerar det maximala värdet i en sekvens med null-värden Double . |
| Max<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>) |
Anropar en transformeringsfunktion på varje element i en allmän sekvens och returnerar det maximala resulterande värdet. |
| Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>) |
Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala Single värdet. |
| Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) |
Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala null-värdet Single . |
| Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) |
Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala null-värdet Int64 . |
| Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) |
Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala null-värdet Int32 . |
| Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) |
Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala null-värdet Double . |
| Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) |
Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala Int64 värdet. |
| Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) |
Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala Int32 värdet. |
| Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>) |
Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala Double värdet. |
| Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>) |
Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala Decimal värdet. |
| Max<TSource>(IEnumerable<TSource>) |
Returnerar det maximala värdet i en allmän sekvens. |
| Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) |
Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala null-värdet Decimal . |
Max(IEnumerable<Nullable<Single>>)
Returnerar det maximala värdet i en sekvens med null-värden Single .
public:
[System::Runtime::CompilerServices::Extension]
static Nullable<float> Max(System::Collections::Generic::IEnumerable<Nullable<float>> ^ source);
public static float? Max(this System.Collections.Generic.IEnumerable<float?> source);
static member Max : seq<Nullable<single>> -> Nullable<single>
<Extension()>
Public Function Max (source As IEnumerable(Of Nullable(Of Single))) As Nullable(Of Single)
Parametrar
- source
- IEnumerable<Nullable<Single>>
En sekvens med null-värden Single för att fastställa det maximala värdet för.
Returer
Ett värde av typen Nullable<Single> i C# eller Nullable(Of Single) i Visual Basic som motsvarar det maximala värdet i sekvensen.
Undantag
source är null.
Kommentarer
Metoden Max(IEnumerable<Nullable<Single>>) använder implementeringen Single av IComparable<T> för att jämföra värden.
Om källsekvensen är tom eller endast innehåller värden som är nullreturnerar nullden här funktionen .
I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.
Se även
Gäller för
Max(IEnumerable<Int32>)
Returnerar det maximala värdet i en sekvens med Int32 värden.
public:
[System::Runtime::CompilerServices::Extension]
static int Max(System::Collections::Generic::IEnumerable<int> ^ source);
public static int Max(this System.Collections.Generic.IEnumerable<int> source);
static member Max : seq<int> -> int
<Extension()>
Public Function Max (source As IEnumerable(Of Integer)) As Integer
Parametrar
- source
- IEnumerable<Int32>
En sekvens med Int32 värden för att fastställa det maximala värdet för.
Returer
Maximalt värde i sekvensen.
Undantag
source är null.
source innehåller inga element.
Kommentarer
Metoden Max(IEnumerable<Int32>) använder implementeringen Int32 av IComparable<T> för att jämföra värden.
I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.
Se även
Gäller för
Max(IEnumerable<Nullable<Int64>>)
Returnerar det maximala värdet i en sekvens med null-värden Int64 .
public:
[System::Runtime::CompilerServices::Extension]
static Nullable<long> Max(System::Collections::Generic::IEnumerable<Nullable<long>> ^ source);
public static long? Max(this System.Collections.Generic.IEnumerable<long?> source);
static member Max : seq<Nullable<int64>> -> Nullable<int64>
<Extension()>
Public Function Max (source As IEnumerable(Of Nullable(Of Long))) As Nullable(Of Long)
Parametrar
- source
- IEnumerable<Nullable<Int64>>
En sekvens med null-värden Int64 för att fastställa det maximala värdet för.
Returer
Ett värde av typen Nullable<Int64> i C# eller Nullable(Of Int64) i Visual Basic som motsvarar det maximala värdet i sekvensen.
Undantag
source är null.
Kommentarer
Metoden Max(IEnumerable<Nullable<Int64>>) använder implementeringen Int64 av IComparable<T> för att jämföra värden.
Om källsekvensen är tom eller endast innehåller värden som är nullreturnerar nullden här funktionen .
I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.
Se även
Gäller för
Max(IEnumerable<Single>)
Returnerar det maximala värdet i en sekvens med Single värden.
public:
[System::Runtime::CompilerServices::Extension]
static float Max(System::Collections::Generic::IEnumerable<float> ^ source);
public static float Max(this System.Collections.Generic.IEnumerable<float> source);
static member Max : seq<single> -> single
<Extension()>
Public Function Max (source As IEnumerable(Of Single)) As Single
Parametrar
- source
- IEnumerable<Single>
En sekvens med Single värden för att fastställa det maximala värdet för.
Returer
Maximalt värde i sekvensen.
Undantag
source är null.
source innehåller inga element.
Kommentarer
Metoden Max(IEnumerable<Single>) använder implementeringen Single av IComparable<T> för att jämföra värden.
I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.
Se även
Gäller för
Max(IEnumerable<Nullable<Int32>>)
Returnerar det maximala värdet i en sekvens med null-värden Int32 .
public:
[System::Runtime::CompilerServices::Extension]
static Nullable<int> Max(System::Collections::Generic::IEnumerable<Nullable<int>> ^ source);
public static int? Max(this System.Collections.Generic.IEnumerable<int?> source);
static member Max : seq<Nullable<int>> -> Nullable<int>
<Extension()>
Public Function Max (source As IEnumerable(Of Nullable(Of Integer))) As Nullable(Of Integer)
Parametrar
- source
- IEnumerable<Nullable<Int32>>
En sekvens med null-värden Int32 för att fastställa det maximala värdet för.
Returer
Ett värde av typen Nullable<Int32> i C# eller Nullable(Of Int32) i Visual Basic som motsvarar det maximala värdet i sekvensen.
Undantag
source är null.
Kommentarer
Metoden Max(IEnumerable<Nullable<Int32>>) använder implementeringen Int32 av IComparable<T> för att jämföra värden.
Om källsekvensen är tom eller endast innehåller värden som är nullreturnerar nullden här funktionen .
I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.
Se även
Gäller för
Max(IEnumerable<Decimal>)
Returnerar det maximala värdet i en sekvens med Decimal värden.
public:
[System::Runtime::CompilerServices::Extension]
static System::Decimal Max(System::Collections::Generic::IEnumerable<System::Decimal> ^ source);
public static decimal Max(this System.Collections.Generic.IEnumerable<decimal> source);
static member Max : seq<decimal> -> decimal
<Extension()>
Public Function Max (source As IEnumerable(Of Decimal)) As Decimal
Parametrar
- source
- IEnumerable<Decimal>
En sekvens med Decimal värden för att fastställa det maximala värdet för.
Returer
Maximalt värde i sekvensen.
Undantag
source är null.
source innehåller inga element.
Kommentarer
Metoden Max(IEnumerable<Decimal>) använder implementeringen Decimal av IComparable<T> för att jämföra värden.
I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.
Se även
Gäller för
Max(IEnumerable<Nullable<Decimal>>)
Returnerar det maximala värdet i en sekvens med null-värden Decimal .
public:
[System::Runtime::CompilerServices::Extension]
static Nullable<System::Decimal> Max(System::Collections::Generic::IEnumerable<Nullable<System::Decimal>> ^ source);
public static decimal? Max(this System.Collections.Generic.IEnumerable<decimal?> source);
static member Max : seq<Nullable<decimal>> -> Nullable<decimal>
<Extension()>
Public Function Max (source As IEnumerable(Of Nullable(Of Decimal))) As Nullable(Of Decimal)
Parametrar
- source
- IEnumerable<Nullable<Decimal>>
En sekvens med null-värden Decimal för att fastställa det maximala värdet för.
Returer
Ett värde av typen Nullable<Decimal> i C# eller Nullable(Of Decimal) i Visual Basic som motsvarar det maximala värdet i sekvensen.
Undantag
source är null.
Kommentarer
Metoden Max(IEnumerable<Nullable<Decimal>>) använder implementeringen Decimal av IComparable<T> för att jämföra värden.
Om källsekvensen är tom eller endast innehåller värden som är nullreturnerar nullden här funktionen .
I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.
Se även
Gäller för
Max(IEnumerable<Int64>)
Returnerar det maximala värdet i en sekvens med Int64 värden.
public:
[System::Runtime::CompilerServices::Extension]
static long Max(System::Collections::Generic::IEnumerable<long> ^ source);
public static long Max(this System.Collections.Generic.IEnumerable<long> source);
static member Max : seq<int64> -> int64
<Extension()>
Public Function Max (source As IEnumerable(Of Long)) As Long
Parametrar
- source
- IEnumerable<Int64>
En sekvens med Int64 värden för att fastställa det maximala värdet för.
Returer
Maximalt värde i sekvensen.
Undantag
source är null.
source innehåller inga element.
Exempel
Följande kodexempel visar hur du använder Max(IEnumerable<Int64>) för att fastställa det maximala värdet i en sekvens.
List<long> longs = new List<long> { 4294967296L, 466855135L, 81125L };
long max = longs.Max();
Console.WriteLine("The largest number is {0}.", max);
/*
This code produces the following output:
The largest number is 4294967296.
*/
' Create a list of Long values.
Dim longs As New List(Of Long)(New Long() _
{4294967296L, 466855135L, 81125L})
' Get the maximum value in the list.
Dim max As Long = longs.Max()
' Display the result.
Console.WriteLine($"The largest number is {max}")
' This code produces the following output:
'
' The largest number is 4294967296
Kommentarer
Metoden Max(IEnumerable<Int64>) använder implementeringen Int64 av IComparable<T> för att jämföra värden.
I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.
Se även
Gäller för
Max(IEnumerable<Double>)
Returnerar det maximala värdet i en sekvens med Double värden.
public:
[System::Runtime::CompilerServices::Extension]
static double Max(System::Collections::Generic::IEnumerable<double> ^ source);
public static double Max(this System.Collections.Generic.IEnumerable<double> source);
static member Max : seq<double> -> double
<Extension()>
Public Function Max (source As IEnumerable(Of Double)) As Double
Parametrar
- source
- IEnumerable<Double>
En sekvens med Double värden för att fastställa det maximala värdet för.
Returer
Maximalt värde i sekvensen.
Undantag
source är null.
source innehåller inga element.
Kommentarer
Metoden Max(IEnumerable<Double>) använder implementeringen Double av IComparable<T> för att jämföra värden.
I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.
Se även
Gäller för
Max(IEnumerable<Nullable<Double>>)
Returnerar det maximala värdet i en sekvens med null-värden Double .
public:
[System::Runtime::CompilerServices::Extension]
static Nullable<double> Max(System::Collections::Generic::IEnumerable<Nullable<double>> ^ source);
public static double? Max(this System.Collections.Generic.IEnumerable<double?> source);
static member Max : seq<Nullable<double>> -> Nullable<double>
<Extension()>
Public Function Max (source As IEnumerable(Of Nullable(Of Double))) As Nullable(Of Double)
Parametrar
- source
- IEnumerable<Nullable<Double>>
En sekvens med null-värden Double för att fastställa det maximala värdet för.
Returer
Ett värde av typen Nullable<Double> i C# eller Nullable(Of Double) i Visual Basic som motsvarar det maximala värdet i sekvensen.
Undantag
source är null.
Exempel
Följande kodexempel visar hur du använder Max(IEnumerable<Nullable<Double>>) för att fastställa det maximala värdet i en sekvens.
double?[] doubles = { null, 1.5E+104, 9E+103, -2E+103 };
double? max = doubles.Max();
Console.WriteLine("The largest number is {0}.", max);
/*
This code produces the following output:
The largest number is 1.5E+104.
*/
' Create an array of Nullable Double values.
Dim doubles() As Nullable(Of Double) =
{Nothing, 1.5E+104, 9.0E+103, -2.0E+103}
' Determine the maximum value in the array.
Dim max As Nullable(Of Double) = doubles.Max()
' Display the result.
Console.WriteLine($"The largest number is {max}")
' This code produces the following output:
'
' The largest number is 1.5E+104
Kommentarer
Metoden Max(IEnumerable<Nullable<Double>>) använder implementeringen Double av IComparable<T> för att jämföra värden.
Om källsekvensen är tom eller endast innehåller värden som är nullreturnerar nullden här funktionen .
I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.
Se även
Gäller för
Max<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>)
Anropar en transformeringsfunktion på varje element i en allmän sekvens och returnerar det maximala resulterande värdet.
public:
generic <typename TSource, typename TResult>
[System::Runtime::CompilerServices::Extension]
static TResult Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, TResult> ^ selector);
public static TResult Max<TSource,TResult>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,TResult> selector);
static member Max : seq<'Source> * Func<'Source, 'Result> -> 'Result
<Extension()>
Public Function Max(Of TSource, TResult) (source As IEnumerable(Of TSource), selector As Func(Of TSource, TResult)) As TResult
Typparametrar
- TSource
Typen av element sourcei .
- TResult
Typen av värde som returneras av selector.
Parametrar
- source
- IEnumerable<TSource>
En sekvens med värden för att fastställa det maximala värdet för.
- selector
- Func<TSource,TResult>
En transformeringsfunktion som ska tillämpas på varje element.
Returer
Maximalt värde i sekvensen.
Undantag
source eller selector är null.
Exempel
Följande kodexempel visar hur du använder Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) för att fastställa det maximala värdet i en sekvens med beräknade värden.
Note
I det här kodexemplet används en överlagring av metoden som skiljer sig från den specifika överlagring som beskrivs i den här artikeln. Om du vill utöka exemplet till den överlagring som beskrivs i den här artikeln ändrar du funktionens selector brödtext.
class Pet
{
public string Name { get; set; }
public int Age { get; set; }
}
public static void MaxEx4()
{
Pet[] pets = { new Pet { Name="Barley", Age=8 },
new Pet { Name="Boots", Age=4 },
new Pet { Name="Whiskers", Age=1 } };
int max = pets.Max(pet => pet.Age + pet.Name.Length);
Console.WriteLine(
"The maximum pet age plus name length is {0}.",
max);
}
/*
This code produces the following output:
The maximum pet age plus name length is 14.
*/
Structure Pet
Public Name As String
Public Age As Integer
End Structure
Sub MaxEx4()
' Create an array of Pet objects.
Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
New Pet With {.Name = "Boots", .Age = 4},
New Pet With {.Name = "Whiskers", .Age = 1}}
' Determine the "maximum" pet by passing a
' lambda expression to Max() that sums the pet's age
' and name length.
Dim max As Integer = pets.Max(Function(pet) _
pet.Age + pet.Name.Length)
' Display the result.
Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub
' This code produces the following output:
'
' The maximum pet age plus name length is 14
Kommentarer
Om typen TResult implementerar IComparable<T>använder den här metoden den implementeringen för att jämföra värden. Annars, om typen TResult implementerar IComparable, används implementeringen för att jämföra värden.
I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.
Se även
- System.Linq.Enumerable.MaxBy
- Aggregate Clause (Visual Basic)
Gäller för
Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>)
Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala Single värdet.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static float Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, float> ^ selector);
public static float Max<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,float> selector);
static member Max : seq<'Source> * Func<'Source, single> -> single
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Single)) As Single
Typparametrar
- TSource
Typen av element sourcei .
Parametrar
- source
- IEnumerable<TSource>
En sekvens med värden för att fastställa det maximala värdet för.
Returer
Maximalt värde i sekvensen.
Undantag
source eller selector är null.
source innehåller inga element.
Exempel
Följande kodexempel visar hur du använder Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) för att fastställa det maximala värdet i en sekvens med beräknade värden.
Note
I det här kodexemplet används en överlagring av metoden som skiljer sig från den specifika överlagring som beskrivs i den här artikeln. Om du vill utöka exemplet till den överlagring som beskrivs i den här artikeln ändrar du funktionens selector brödtext.
class Pet
{
public string Name { get; set; }
public int Age { get; set; }
}
public static void MaxEx4()
{
Pet[] pets = { new Pet { Name="Barley", Age=8 },
new Pet { Name="Boots", Age=4 },
new Pet { Name="Whiskers", Age=1 } };
int max = pets.Max(pet => pet.Age + pet.Name.Length);
Console.WriteLine(
"The maximum pet age plus name length is {0}.",
max);
}
/*
This code produces the following output:
The maximum pet age plus name length is 14.
*/
Structure Pet
Public Name As String
Public Age As Integer
End Structure
Sub MaxEx4()
' Create an array of Pet objects.
Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
New Pet With {.Name = "Boots", .Age = 4},
New Pet With {.Name = "Whiskers", .Age = 1}}
' Determine the "maximum" pet by passing a
' lambda expression to Max() that sums the pet's age
' and name length.
Dim max As Integer = pets.Max(Function(pet) _
pet.Age + pet.Name.Length)
' Display the result.
Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub
' This code produces the following output:
'
' The maximum pet age plus name length is 14
Kommentarer
Metoden Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>) använder implementeringen Single av IComparable<T> för att jämföra värden.
Du kan använda den här metoden för en sekvens med godtyckliga värden om du anger en funktion, selector, som projicerar medlemmarna source i till en numerisk typ, särskilt Single.
I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.
Se även
Gäller för
Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)
Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala null-värdet Single .
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static Nullable<float> Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<float>> ^ selector);
public static float? Max<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,float?> selector);
static member Max : seq<'Source> * Func<'Source, Nullable<single>> -> Nullable<single>
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Single))) As Nullable(Of Single)
Typparametrar
- TSource
Typen av element sourcei .
Parametrar
- source
- IEnumerable<TSource>
En sekvens med värden för att fastställa det maximala värdet för.
En transformeringsfunktion som ska tillämpas på varje element.
Returer
Värdet som motsvarar det maximala värdet i sekvensen.
Undantag
source eller selector är null.
Exempel
Följande kodexempel visar hur du använder Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) för att fastställa det maximala värdet i en sekvens med beräknade värden.
Note
I det här kodexemplet används en överlagring av metoden som skiljer sig från den specifika överlagring som beskrivs i den här artikeln. Om du vill utöka exemplet till den överlagring som beskrivs i den här artikeln ändrar du funktionens selector brödtext.
class Pet
{
public string Name { get; set; }
public int Age { get; set; }
}
public static void MaxEx4()
{
Pet[] pets = { new Pet { Name="Barley", Age=8 },
new Pet { Name="Boots", Age=4 },
new Pet { Name="Whiskers", Age=1 } };
int max = pets.Max(pet => pet.Age + pet.Name.Length);
Console.WriteLine(
"The maximum pet age plus name length is {0}.",
max);
}
/*
This code produces the following output:
The maximum pet age plus name length is 14.
*/
Structure Pet
Public Name As String
Public Age As Integer
End Structure
Sub MaxEx4()
' Create an array of Pet objects.
Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
New Pet With {.Name = "Boots", .Age = 4},
New Pet With {.Name = "Whiskers", .Age = 1}}
' Determine the "maximum" pet by passing a
' lambda expression to Max() that sums the pet's age
' and name length.
Dim max As Integer = pets.Max(Function(pet) _
pet.Age + pet.Name.Length)
' Display the result.
Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub
' This code produces the following output:
'
' The maximum pet age plus name length is 14
Kommentarer
Metoden Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>) använder implementeringen Single av IComparable<T> för att jämföra värden.
Du kan använda den här metoden i en sekvens med godtyckliga värden om du anger en funktion, selector, som projicerar medlemmarna i source till en numerisk typ, särskilt Nullable<Single> i C# eller Nullable(Of Single) i Visual Basic.
I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.
Se även
Gäller för
Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)
Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala null-värdet Int64 .
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static Nullable<long> Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<long>> ^ selector);
public static long? Max<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,long?> selector);
static member Max : seq<'Source> * Func<'Source, Nullable<int64>> -> Nullable<int64>
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Long))) As Nullable(Of Long)
Typparametrar
- TSource
Typen av element sourcei .
Parametrar
- source
- IEnumerable<TSource>
En sekvens med värden för att fastställa det maximala värdet för.
En transformeringsfunktion som ska tillämpas på varje element.
Returer
Värdet som motsvarar det maximala värdet i sekvensen.
Undantag
source eller selector är null.
Exempel
Följande kodexempel visar hur du använder Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) för att fastställa det maximala värdet i en sekvens med beräknade värden.
Note
I det här kodexemplet används en överlagring av metoden som skiljer sig från den specifika överlagring som beskrivs i den här artikeln. Om du vill utöka exemplet till den överlagring som beskrivs i den här artikeln ändrar du funktionens selector brödtext.
class Pet
{
public string Name { get; set; }
public int Age { get; set; }
}
public static void MaxEx4()
{
Pet[] pets = { new Pet { Name="Barley", Age=8 },
new Pet { Name="Boots", Age=4 },
new Pet { Name="Whiskers", Age=1 } };
int max = pets.Max(pet => pet.Age + pet.Name.Length);
Console.WriteLine(
"The maximum pet age plus name length is {0}.",
max);
}
/*
This code produces the following output:
The maximum pet age plus name length is 14.
*/
Structure Pet
Public Name As String
Public Age As Integer
End Structure
Sub MaxEx4()
' Create an array of Pet objects.
Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
New Pet With {.Name = "Boots", .Age = 4},
New Pet With {.Name = "Whiskers", .Age = 1}}
' Determine the "maximum" pet by passing a
' lambda expression to Max() that sums the pet's age
' and name length.
Dim max As Integer = pets.Max(Function(pet) _
pet.Age + pet.Name.Length)
' Display the result.
Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub
' This code produces the following output:
'
' The maximum pet age plus name length is 14
Kommentarer
Metoden Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>) använder implementeringen Int64 av IComparable<T> för att jämföra värden.
Du kan använda den här metoden i en sekvens med godtyckliga värden om du anger en funktion, selector, som projicerar medlemmarna i source till en numerisk typ, särskilt Nullable<Int64> i C# eller Nullable(Of Int64) i Visual Basic.
I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.
Se även
Gäller för
Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)
Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala null-värdet Int32 .
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static Nullable<int> Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<int>> ^ selector);
public static int? Max<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,int?> selector);
static member Max : seq<'Source> * Func<'Source, Nullable<int>> -> Nullable<int>
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Integer))) As Nullable(Of Integer)
Typparametrar
- TSource
Typen av element sourcei .
Parametrar
- source
- IEnumerable<TSource>
En sekvens med värden för att fastställa det maximala värdet för.
En transformeringsfunktion som ska tillämpas på varje element.
Returer
Värdet för typen Nullable<Int32> i C# eller Nullable(Of Int32) i Visual Basic som motsvarar det maximala värdet i sekvensen.
Undantag
source eller selector är null.
Exempel
Följande kodexempel visar hur du använder Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) för att fastställa det maximala värdet i en sekvens med beräknade värden.
Note
I det här kodexemplet används en överlagring av metoden som skiljer sig från den specifika överlagring som beskrivs i den här artikeln. Om du vill utöka exemplet till den överlagring som beskrivs i den här artikeln ändrar du funktionens selector brödtext.
class Pet
{
public string Name { get; set; }
public int Age { get; set; }
}
public static void MaxEx4()
{
Pet[] pets = { new Pet { Name="Barley", Age=8 },
new Pet { Name="Boots", Age=4 },
new Pet { Name="Whiskers", Age=1 } };
int max = pets.Max(pet => pet.Age + pet.Name.Length);
Console.WriteLine(
"The maximum pet age plus name length is {0}.",
max);
}
/*
This code produces the following output:
The maximum pet age plus name length is 14.
*/
Structure Pet
Public Name As String
Public Age As Integer
End Structure
Sub MaxEx4()
' Create an array of Pet objects.
Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
New Pet With {.Name = "Boots", .Age = 4},
New Pet With {.Name = "Whiskers", .Age = 1}}
' Determine the "maximum" pet by passing a
' lambda expression to Max() that sums the pet's age
' and name length.
Dim max As Integer = pets.Max(Function(pet) _
pet.Age + pet.Name.Length)
' Display the result.
Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub
' This code produces the following output:
'
' The maximum pet age plus name length is 14
Kommentarer
Metoden Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>) använder implementeringen Int32 av IComparable<T> för att jämföra värden.
Du kan använda den här metoden i en sekvens med godtyckliga värden om du anger en funktion, selector, som projicerar medlemmarna i source till en numerisk typ, särskilt Nullable<Int32> i C# eller Nullable(Of Int32) i Visual Basic.
I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.
Se även
Gäller för
Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)
Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala null-värdet Double .
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static Nullable<double> Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<double>> ^ selector);
public static double? Max<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,double?> selector);
static member Max : seq<'Source> * Func<'Source, Nullable<double>> -> Nullable<double>
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Double))) As Nullable(Of Double)
Typparametrar
- TSource
Typen av element sourcei .
Parametrar
- source
- IEnumerable<TSource>
En sekvens med värden för att fastställa det maximala värdet för.
En transformeringsfunktion som ska tillämpas på varje element.
Returer
Värdet för typen Nullable<Double> i C# eller Nullable(Of Double) i Visual Basic som motsvarar det maximala värdet i sekvensen.
Undantag
source eller selector är null.
Exempel
Följande kodexempel visar hur du använder Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) för att fastställa det maximala värdet i en sekvens med beräknade värden.
Note
I det här kodexemplet används en överlagring av metoden som skiljer sig från den specifika överlagring som beskrivs i den här artikeln. Om du vill utöka exemplet till den överlagring som beskrivs i den här artikeln ändrar du funktionens selector brödtext.
class Pet
{
public string Name { get; set; }
public int Age { get; set; }
}
public static void MaxEx4()
{
Pet[] pets = { new Pet { Name="Barley", Age=8 },
new Pet { Name="Boots", Age=4 },
new Pet { Name="Whiskers", Age=1 } };
int max = pets.Max(pet => pet.Age + pet.Name.Length);
Console.WriteLine(
"The maximum pet age plus name length is {0}.",
max);
}
/*
This code produces the following output:
The maximum pet age plus name length is 14.
*/
Structure Pet
Public Name As String
Public Age As Integer
End Structure
Sub MaxEx4()
' Create an array of Pet objects.
Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
New Pet With {.Name = "Boots", .Age = 4},
New Pet With {.Name = "Whiskers", .Age = 1}}
' Determine the "maximum" pet by passing a
' lambda expression to Max() that sums the pet's age
' and name length.
Dim max As Integer = pets.Max(Function(pet) _
pet.Age + pet.Name.Length)
' Display the result.
Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub
' This code produces the following output:
'
' The maximum pet age plus name length is 14
Kommentarer
Metoden Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>) använder implementeringen Double av IComparable<T> för att jämföra värden.
Du kan använda den här metoden i en sekvens med godtyckliga värden om du anger en funktion, selector, som projicerar medlemmarna i source till en numerisk typ, särskilt Nullable<Double> i C# eller Nullable(Of Double) i Visual Basic.
I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.
Se även
Gäller för
Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)
Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala Int64 värdet.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static long Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, long> ^ selector);
public static long Max<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,long> selector);
static member Max : seq<'Source> * Func<'Source, int64> -> int64
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Long)) As Long
Typparametrar
- TSource
Typen av element sourcei .
Parametrar
- source
- IEnumerable<TSource>
En sekvens med värden för att fastställa det maximala värdet för.
Returer
Maximalt värde i sekvensen.
Undantag
source eller selector är null.
source innehåller inga element.
Exempel
Följande kodexempel visar hur du använder Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) för att fastställa det maximala värdet i en sekvens med beräknade värden.
Note
I det här kodexemplet används en överlagring av metoden som skiljer sig från den specifika överlagring som beskrivs i den här artikeln. Om du vill utöka exemplet till den överlagring som beskrivs i den här artikeln ändrar du funktionens selector brödtext.
class Pet
{
public string Name { get; set; }
public int Age { get; set; }
}
public static void MaxEx4()
{
Pet[] pets = { new Pet { Name="Barley", Age=8 },
new Pet { Name="Boots", Age=4 },
new Pet { Name="Whiskers", Age=1 } };
int max = pets.Max(pet => pet.Age + pet.Name.Length);
Console.WriteLine(
"The maximum pet age plus name length is {0}.",
max);
}
/*
This code produces the following output:
The maximum pet age plus name length is 14.
*/
Structure Pet
Public Name As String
Public Age As Integer
End Structure
Sub MaxEx4()
' Create an array of Pet objects.
Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
New Pet With {.Name = "Boots", .Age = 4},
New Pet With {.Name = "Whiskers", .Age = 1}}
' Determine the "maximum" pet by passing a
' lambda expression to Max() that sums the pet's age
' and name length.
Dim max As Integer = pets.Max(Function(pet) _
pet.Age + pet.Name.Length)
' Display the result.
Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub
' This code produces the following output:
'
' The maximum pet age plus name length is 14
Kommentarer
Metoden Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>) använder implementeringen Int64 av IComparable<T> för att jämföra värden.
Du kan använda den här metoden för en sekvens med godtyckliga värden om du anger en funktion, selector, som projicerar medlemmarna source i till en numerisk typ, särskilt Int64.
I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.
Se även
Gäller för
Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)
Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala Int32 värdet.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static int Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, int> ^ selector);
public static int Max<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,int> selector);
static member Max : seq<'Source> * Func<'Source, int> -> int
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Integer)) As Integer
Typparametrar
- TSource
Typen av element sourcei .
Parametrar
- source
- IEnumerable<TSource>
En sekvens med värden för att fastställa det maximala värdet för.
Returer
Maximalt värde i sekvensen.
Undantag
source eller selector är null.
source innehåller inga element.
Exempel
Följande kodexempel visar hur du använder Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) för att fastställa det maximala värdet i en sekvens med beräknade värden.
class Pet
{
public string Name { get; set; }
public int Age { get; set; }
}
public static void MaxEx4()
{
Pet[] pets = { new Pet { Name="Barley", Age=8 },
new Pet { Name="Boots", Age=4 },
new Pet { Name="Whiskers", Age=1 } };
int max = pets.Max(pet => pet.Age + pet.Name.Length);
Console.WriteLine(
"The maximum pet age plus name length is {0}.",
max);
}
/*
This code produces the following output:
The maximum pet age plus name length is 14.
*/
Structure Pet
Public Name As String
Public Age As Integer
End Structure
Sub MaxEx4()
' Create an array of Pet objects.
Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
New Pet With {.Name = "Boots", .Age = 4},
New Pet With {.Name = "Whiskers", .Age = 1}}
' Determine the "maximum" pet by passing a
' lambda expression to Max() that sums the pet's age
' and name length.
Dim max As Integer = pets.Max(Function(pet) _
pet.Age + pet.Name.Length)
' Display the result.
Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub
' This code produces the following output:
'
' The maximum pet age plus name length is 14
Kommentarer
Metoden Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) använder implementeringen Int32 av IComparable<T> för att jämföra värden.
Du kan använda den här metoden för en sekvens med godtyckliga värden om du anger en funktion, selector, som projicerar medlemmarna source i till en numerisk typ, särskilt Int32.
I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.
Se även
Gäller för
Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>)
Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala Double värdet.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static double Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, double> ^ selector);
public static double Max<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,double> selector);
static member Max : seq<'Source> * Func<'Source, double> -> double
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Double)) As Double
Typparametrar
- TSource
Typen av element sourcei .
Parametrar
- source
- IEnumerable<TSource>
En sekvens med värden för att fastställa det maximala värdet för.
Returer
Maximalt värde i sekvensen.
Undantag
source eller selector är null.
source innehåller inga element.
Exempel
Följande kodexempel visar hur du använder Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) för att fastställa det maximala värdet i en sekvens med beräknade värden.
Note
I det här kodexemplet används en överlagring av metoden som skiljer sig från den specifika överlagring som beskrivs i den här artikeln. Om du vill utöka exemplet till den överlagring som beskrivs i den här artikeln ändrar du funktionens selector brödtext.
class Pet
{
public string Name { get; set; }
public int Age { get; set; }
}
public static void MaxEx4()
{
Pet[] pets = { new Pet { Name="Barley", Age=8 },
new Pet { Name="Boots", Age=4 },
new Pet { Name="Whiskers", Age=1 } };
int max = pets.Max(pet => pet.Age + pet.Name.Length);
Console.WriteLine(
"The maximum pet age plus name length is {0}.",
max);
}
/*
This code produces the following output:
The maximum pet age plus name length is 14.
*/
Structure Pet
Public Name As String
Public Age As Integer
End Structure
Sub MaxEx4()
' Create an array of Pet objects.
Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
New Pet With {.Name = "Boots", .Age = 4},
New Pet With {.Name = "Whiskers", .Age = 1}}
' Determine the "maximum" pet by passing a
' lambda expression to Max() that sums the pet's age
' and name length.
Dim max As Integer = pets.Max(Function(pet) _
pet.Age + pet.Name.Length)
' Display the result.
Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub
' This code produces the following output:
'
' The maximum pet age plus name length is 14
Kommentarer
Metoden Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>) använder implementeringen Double av IComparable<T> för att jämföra värden.
Du kan använda den här metoden för en sekvens med godtyckliga värden om du anger en funktion, selector, som projicerar medlemmarna source i till en numerisk typ, särskilt Double.
I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.
Se även
Gäller för
Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)
Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala Decimal värdet.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static System::Decimal Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, System::Decimal> ^ selector);
public static decimal Max<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,decimal> selector);
static member Max : seq<'Source> * Func<'Source, decimal> -> decimal
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Decimal)) As Decimal
Typparametrar
- TSource
Typen av element sourcei .
Parametrar
- source
- IEnumerable<TSource>
En sekvens med värden för att fastställa det maximala värdet för.
Returer
Maximalt värde i sekvensen.
Undantag
source eller selector är null.
source innehåller inga element.
Exempel
Följande kodexempel visar hur du använder Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) för att fastställa det maximala värdet i en sekvens med beräknade värden.
Note
I det här kodexemplet används en överlagring av metoden som skiljer sig från den specifika överlagring som beskrivs i den här artikeln. Om du vill utöka exemplet till den överlagring som beskrivs i den här artikeln ändrar du funktionens selector brödtext.
class Pet
{
public string Name { get; set; }
public int Age { get; set; }
}
public static void MaxEx4()
{
Pet[] pets = { new Pet { Name="Barley", Age=8 },
new Pet { Name="Boots", Age=4 },
new Pet { Name="Whiskers", Age=1 } };
int max = pets.Max(pet => pet.Age + pet.Name.Length);
Console.WriteLine(
"The maximum pet age plus name length is {0}.",
max);
}
/*
This code produces the following output:
The maximum pet age plus name length is 14.
*/
Structure Pet
Public Name As String
Public Age As Integer
End Structure
Sub MaxEx4()
' Create an array of Pet objects.
Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
New Pet With {.Name = "Boots", .Age = 4},
New Pet With {.Name = "Whiskers", .Age = 1}}
' Determine the "maximum" pet by passing a
' lambda expression to Max() that sums the pet's age
' and name length.
Dim max As Integer = pets.Max(Function(pet) _
pet.Age + pet.Name.Length)
' Display the result.
Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub
' This code produces the following output:
'
' The maximum pet age plus name length is 14
Kommentarer
Metoden Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>) använder implementeringen Decimal av IComparable<T> för att jämföra värden.
Du kan använda den här metoden för en sekvens med godtyckliga värden om du anger en funktion, selector, som projicerar medlemmarna source i till en numerisk typ, särskilt Decimal.
I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.
Se även
Gäller för
Max<TSource>(IEnumerable<TSource>)
Returnerar det maximala värdet i en allmän sekvens.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static TSource Max(System::Collections::Generic::IEnumerable<TSource> ^ source);
public static TSource Max<TSource>(this System.Collections.Generic.IEnumerable<TSource> source);
static member Max : seq<'Source> -> 'Source
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource)) As TSource
Typparametrar
- TSource
Typen av element sourcei .
Parametrar
- source
- IEnumerable<TSource>
En sekvens med värden för att fastställa det maximala värdet för.
Returer
Maximalt värde i sekvensen.
Undantag
source är null.
Inget objekt i source implementerar IComparable gränssnittet eller IComparable<T> .
Exempel
Följande kodexempel visar hur du använder Max<TSource>(IEnumerable<TSource>) för att fastställa det maximala värdet i en sekvens med IComparable<T> objekt.
/// <summary>
/// This class implements IComparable to be able to
/// compare one Pet to another Pet.
/// </summary>
class Pet : IComparable<Pet>
{
public string Name { get; set; }
public int Age { get; set; }
/// <summary>
/// Compares this Pet to another Pet by
/// summing each Pet's age and name length.
/// </summary>
/// <param name="other">The Pet to compare this Pet to.</param>
/// <returns>-1 if this Pet is 'less' than the other Pet,
/// 0 if they are equal,
/// or 1 if this Pet is 'greater' than the other Pet.</returns>
int IComparable<Pet>.CompareTo(Pet other)
{
int sumOther = other.Age + other.Name.Length;
int sumThis = this.Age + this.Name.Length;
if (sumOther > sumThis)
return -1;
else if (sumOther == sumThis)
return 0;
else
return 1;
}
}
public static void MaxEx3()
{
Pet[] pets = { new Pet { Name="Barley", Age=8 },
new Pet { Name="Boots", Age=4 },
new Pet { Name="Whiskers", Age=1 } };
Pet max = pets.Max();
Console.WriteLine(
"The 'maximum' animal is {0}.",
max.Name);
}
/*
This code produces the following output:
The 'maximum' animal is Barley.
*/
' This class implements IComparable
' and has a custom 'CompareTo' implementation.
Class Pet
Implements IComparable(Of Pet)
Public Name As String
Public Age As Integer
''' <summary>
''' Compares Pet objects by the sum of their age and name length.
''' </summary>
''' <param name="other">The Pet to compare this Pet to.</param>
''' <returns>-1 if this Pet's sum is 'less' than the other Pet,
''' 0 if they are equal,
''' or 1 if this Pet's sum is 'greater' than the other Pet.</returns>
Function CompareTo(ByVal other As Pet) As Integer _
Implements IComparable(Of Pet).CompareTo
If (other.Age + other.Name.Length > Me.Age + Me.Name.Length) Then
Return -1
ElseIf (other.Age + other.Name.Length = Me.Age + Me.Name.Length) Then
Return 0
Else
Return 1
End If
End Function
End Class
Sub MaxEx3()
' Create an array of Pet objects.
Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
New Pet With {.Name = "Boots", .Age = 4},
New Pet With {.Name = "Whiskers", .Age = 1}}
' Find the "maximum" pet according to the
' custom CompareTo() implementation.
Dim max As Pet = pets.Max()
' Display the result.
Console.WriteLine($"The 'maximum' animal is {max.Name}")
End Sub
' This code produces the following output:
'
' The 'maximum' animal is Barley
Kommentarer
Om typen TSource implementerar IComparable<T>använder metoden den Max<TSource>(IEnumerable<TSource>) implementeringen för att jämföra värden. Annars, om typen TSource implementerar IComparable, används implementeringen för att jämföra värden.
Om TSource är en referenstyp och källsekvensen är tom eller endast innehåller värden som är nullreturnerar nullden här metoden .
I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.
Se även
Gäller för
Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)
Anropar en transformeringsfunktion på varje element i en sekvens och returnerar det maximala null-värdet Decimal .
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static Nullable<System::Decimal> Max(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, Nullable<System::Decimal>> ^ selector);
public static decimal? Max<TSource>(this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,decimal?> selector);
static member Max : seq<'Source> * Func<'Source, Nullable<decimal>> -> Nullable<decimal>
<Extension()>
Public Function Max(Of TSource) (source As IEnumerable(Of TSource), selector As Func(Of TSource, Nullable(Of Decimal))) As Nullable(Of Decimal)
Typparametrar
- TSource
Typen av element sourcei .
Parametrar
- source
- IEnumerable<TSource>
En sekvens med värden för att fastställa det maximala värdet för.
En transformeringsfunktion som ska tillämpas på varje element.
Returer
Värdet för typen Nullable<Decimal> i C# eller Nullable(Of Decimal) i Visual Basic som motsvarar det maximala värdet i sekvensen.
Undantag
source eller selector är null.
Exempel
Följande kodexempel visar hur du använder Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>) för att fastställa det maximala värdet i en sekvens med beräknade värden.
Note
I det här kodexemplet används en överlagring av metoden som skiljer sig från den specifika överlagring som beskrivs i den här artikeln. Om du vill utöka exemplet till den överlagring som beskrivs i den här artikeln ändrar du funktionens selector brödtext.
class Pet
{
public string Name { get; set; }
public int Age { get; set; }
}
public static void MaxEx4()
{
Pet[] pets = { new Pet { Name="Barley", Age=8 },
new Pet { Name="Boots", Age=4 },
new Pet { Name="Whiskers", Age=1 } };
int max = pets.Max(pet => pet.Age + pet.Name.Length);
Console.WriteLine(
"The maximum pet age plus name length is {0}.",
max);
}
/*
This code produces the following output:
The maximum pet age plus name length is 14.
*/
Structure Pet
Public Name As String
Public Age As Integer
End Structure
Sub MaxEx4()
' Create an array of Pet objects.
Dim pets() As Pet = {New Pet With {.Name = "Barley", .Age = 8},
New Pet With {.Name = "Boots", .Age = 4},
New Pet With {.Name = "Whiskers", .Age = 1}}
' Determine the "maximum" pet by passing a
' lambda expression to Max() that sums the pet's age
' and name length.
Dim max As Integer = pets.Max(Function(pet) _
pet.Age + pet.Name.Length)
' Display the result.
Console.WriteLine($"The maximum pet age plus name length is {max}")
End Sub
' This code produces the following output:
'
' The maximum pet age plus name length is 14
Kommentarer
Metoden Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>) använder implementeringen Decimal av IComparable<T> för att jämföra värden.
Du kan använda den här metoden i en sekvens med godtyckliga värden om du anger en funktion, selector, som projicerar medlemmarna i source till en numerisk typ, särskilt Nullable<Decimal> i C# eller Nullable(Of Decimal) i Visual Basic.
I Visual Basic frågeuttryckssyntax översätts en Aggregate Into Max()-sats till ett anrop av Max.