Queryable.Max 메서드

정의

오버로드

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

제네릭 IQueryable<T>의 각 요소에 대해 프로젝션 함수를 호출하고 최대 결과 값을 반환합니다.

Max<TSource>(IQueryable<TSource>)

제네릭 IQueryable<T>의 최대값을 반환합니다.

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

제네릭 IQueryable<T>의 최대값을 반환합니다.

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

제네릭 IQueryable<T>의 각 요소에 대해 프로젝션 함수를 호출하고 최대 결과 값을 반환합니다.

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

형식 매개 변수

TSource

source 요소의 형식입니다.

TResult

selector에 지정된 함수가 반환하는 값의 형식입니다.

매개 변수

source
IQueryable<TSource>

최대값을 확인할 값의 시퀀스입니다.

selector
Expression<Func<TSource,TResult>>

각 요소에 적용할 프로젝션 함수입니다.

반환

TResult

시퀀스의 최대값입니다.

예외

source 또는 selectornull인 경우

source에 요소가 없는 경우

예제

다음 코드 예제에서는 예상된 값 시퀀스에서 최대값을 결정하는 데 사용하는 Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) 방법을 보여 줍니다.

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.

설명

이 메서드에는 형식 인수가 형식 Expression<TDelegate> 중 하나인 형식의 매개 변수가 Func<T,TResult> 하나 이상 있습니다. 이러한 매개 변수의 경우 람다 식을 전달할 수 있으며 람다 식은 .로 Expression<TDelegate>컴파일됩니다.

메서드는 Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) 생성된 제네릭 메서드로 자신을 호출 Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) 하는 것을 나타내는 메서드를 생성 MethodCallExpression 합니다. 그런 다음 매개 변수의 IQueryProvider Execute<TResult>(Expression) 속성으로 표현되는 메서드에 Provider 전달 MethodCallExpression 합니다source.

호출 Max<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) 을 나타내는 식 트리를 실행한 결과로 발생하는 쿼리 동작은 매개 변수 형식 source 의 구현에 따라 달라집니다. 예상되는 동작은 각 요소에서 source 호출 selector 하고 최대값을 반환하는 것입니다.

적용 대상

Max<TSource>(IQueryable<TSource>)

제네릭 IQueryable<T>의 최대값을 반환합니다.

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

형식 매개 변수

TSource

source 요소의 형식입니다.

매개 변수

source
IQueryable<TSource>

최대값을 확인할 값의 시퀀스입니다.

반환

TSource

시퀀스의 최대값입니다.

예외

source이(가) null인 경우

source에 요소가 없는 경우

예제

다음 코드 예제에서는 시퀀스의 최대값을 결정하는 데 사용하는 Max<TSource>(IQueryable<TSource>) 방법을 보여 줍니다.

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.

설명

메서드는 Max<TSource>(IQueryable<TSource>) 생성된 제네릭 메서드로 자신을 호출 Max<TSource>(IQueryable<TSource>) 하는 것을 나타내는 메서드를 생성 MethodCallExpression 합니다. 그런 다음 매개 변수의 IQueryProvider Execute<TResult>(Expression) 속성으로 표현되는 메서드에 Provider 전달 MethodCallExpression 합니다source.

호출 Max<TSource>(IQueryable<TSource>) 을 나타내는 식 트리를 실행한 결과로 발생하는 쿼리 동작은 매개 변수 형식 source 의 구현에 따라 달라집니다. 예상되는 동작은 최대값을 반환하는 것입니다 source.

적용 대상

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

제네릭 IQueryable<T>의 최대값을 반환합니다.

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

형식 매개 변수

TSource

source 요소의 형식입니다.

매개 변수

source
IQueryable<TSource>

최대값을 확인할 값의 시퀀스입니다.

comparer
IComparer<TSource>

값을 비교할 IComparer<T>입니다.

반환

TSource

시퀀스의 최대값입니다.

예외

source이(가) null인 경우

적용 대상