Queryable.Max Yöntem

Tanım

Aşırı Yüklemeler

Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>)

Genel IQueryable<T> bir öğenin her öğesinde bir projeksiyon işlevi çağırır ve sonuçta elde edilen en yüksek değeri döndürür.

Max<TSource>(IQueryable<TSource>)

Genel IQueryable<T>bir içindeki en büyük değeri döndürür.

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

Genel IQueryable<T>bir içindeki en büyük değeri döndürür.

Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>)

Kaynak:
Queryable.cs
Kaynak:
Queryable.cs
Kaynak:
Queryable.cs

Genel IQueryable<T> bir öğenin her öğesinde bir projeksiyon işlevi çağırır ve sonuçta elde edilen en yüksek değeri döndürür.

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

Tür Parametreleri

TSource

öğelerinin sourcetürü.

TResult

işlevi tarafından döndürülen değerin türü.selector

Parametreler

source
IQueryable<TSource>

En yüksek değeri belirlemek için bir değer dizisi.

selector
Expression<Func<TSource,TResult>>

Her öğeye uygulanacak projeksiyon işlevi.

Döndürülenler

TResult

Dizideki en büyük değer.

Özel durumlar

source veya selector şeklindedir null.

source öğe içermiyor.

Örnekler

Aşağıdaki kod örneği, yansıtılan değerler dizisindeki en büyük değeri belirlemek için nasıl kullanılacağını Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) gösterir.

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

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

    // Add Pet.Age to the length of Pet.Name
    // to determine the "maximum" Pet object in the array.
    int max =
        pets.AsQueryable().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

Shared Sub MaxEx2()
    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}}

    ' Add Pet.Age to the length of Pet.Name
    ' to determine the "maximum" Pet object in the array.
    Dim max As Integer = _
        pets.AsQueryable().Max(Function(pet) pet.Age + pet.Name.Length)

    MsgBox(String.Format("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.

Açıklamalar

Bu yöntem, tür bağımsız değişkeni türlerden Expression<TDelegate> biri olan türünde en az bir parametreye Func<T,TResult> sahiptir. Bu parametreler için bir lambda ifadesi geçirebilirsiniz ve bu ifade bir Expression<TDelegate>olarak derlenir.

yöntemi, Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) bir oluşturur. Ardından parametresinin MethodCallExpressionExecute<TResult>(Expression) özelliği tarafından temsil edilen yöntemine IQueryProviderProvidersource iletir.

Çağrıyı Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source bağlıdır. Beklenen davranış, içindeki source her öğede çağırması selector ve en yüksek değeri döndürmesidir.

Şunlara uygulanır

Max<TSource>(IQueryable<TSource>)

Kaynak:
Queryable.cs
Kaynak:
Queryable.cs
Kaynak:
Queryable.cs

Genel IQueryable<T>bir içindeki en büyük değeri döndürür.

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

Tür Parametreleri

TSource

öğelerinin sourcetürü.

Parametreler

source
IQueryable<TSource>

En yüksek değeri belirlemek için bir değer dizisi.

Döndürülenler

TSource

Dizideki en büyük değer.

Özel durumlar

source, null değeridir.

source öğe içermiyor.

Örnekler

Aşağıdaki kod örneği, bir dizideki en büyük değeri belirlemek için nasıl kullanılacağını Max<TSource>(IQueryable<TSource>) gösterir.

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

long max = longs.AsQueryable().Max();

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

/*
    This code produces the following output:

    The largest number is 4294967296.
*/
Dim longs As New List(Of Long)(New Long() {4294967296L, 466855135L, 81125L})

Dim max As Long = longs.AsQueryable().Max()

MsgBox(String.Format("The largest number is {0}.", max))

'This code produces the following output:

'The largest number is 4294967296.

Açıklamalar

yöntemi, Max<TSource>(IQueryable<TSource>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Max<TSource>(IQueryable<TSource>) bir oluşturur. Ardından parametresinin MethodCallExpressionExecute<TResult>(Expression) özelliği tarafından temsil edilen yöntemine IQueryProviderProvidersource iletir.

Çağrıyı Max<TSource>(IQueryable<TSource>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source bağlıdır. Beklenen davranış, içindeki en büyük değeri döndürmesidir source.

Şunlara uygulanır

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

Kaynak:
Queryable.cs
Kaynak:
Queryable.cs
Kaynak:
Queryable.cs

Genel IQueryable<T>bir içindeki en büyük değeri döndürür.

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

Tür Parametreleri

TSource

öğelerinin sourcetürü.

Parametreler

source
IQueryable<TSource>

En büyük değerini belirlemek için bir değer dizisi.

comparer
IComparer<TSource>

IComparer<T> Değerleri karşılaştırmak için.

Döndürülenler

TSource

Dizideki en büyük değer.

Özel durumlar

source, null değeridir.

Şunlara uygulanır