Поделиться через


Queryable.Min Метод

Определение

Перегрузки

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

Вызывает функцию проекции для каждого элемента универсального интерфейса IQueryable<T> и возвращает минимальное результирующее значение.

Min<TSource>(IQueryable<TSource>)

Возвращает минимальное значение для универсального интерфейса IQueryable<T>.

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

Возвращает минимальное значение в универсальном объекте IQueryable<T>.

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

Исходный код:
Queryable.cs
Исходный код:
Queryable.cs
Исходный код:
Queryable.cs

Вызывает функцию проекции для каждого элемента универсального интерфейса IQueryable<T> и возвращает минимальное результирующее значение.

public:
generic <typename TSource, typename TResult>
[System::Runtime::CompilerServices::Extension]
 static TResult Min(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, TResult> ^> ^ selector);
public static TResult Min<TSource,TResult> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,TResult>> selector);
public static TResult? Min<TSource,TResult> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,TResult>> selector);
static member Min : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, 'Result>> -> 'Result
<Extension()>
Public Function Min(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 или selector имеет значение null.

Последовательность source не содержит элементов.

Примеры

В следующем примере кода показано, как использовать Min<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) для определения минимального значения в последовательности проецируемых значений.

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

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

    // Get the Pet object that has the smallest Age value.
    int min = pets.AsQueryable().Min(pet => pet.Age);

    Console.WriteLine("The youngest animal is age {0}.", min);
}

/*
    This code produces the following output:

    The youngest animal is age 1.
*/
Structure Pet
    Public Name As String
    Public Age As Integer
End Structure

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

    ' Get the Pet object that has the smallest Age value.
    Dim min As Integer = pets.AsQueryable().Min(Function(pet) pet.Age)

    MsgBox(String.Format("The youngest animal is age {0}.", min))
End Sub

'This code produces the following output:

'The youngest animal is age 1.

Комментарии

Этот метод имеет по крайней мере один параметр типа Expression<TDelegate> , аргумент типа которого является одним из Func<T,TResult> типов. Для этих параметров можно передать лямбда-выражение, и оно будет скомпилировано Expression<TDelegate>в .

Метод Min<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) создает объект , MethodCallExpression представляющий вызов Min<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) как сконструированный универсальный метод. Затем он передает MethodCallExpressionExecute<TResult>(Expression) в метод объекта , представленный IQueryProvider свойством Providersource параметра .

Поведение запроса, возникающее в результате выполнения дерева выражений, представляющего вызов Min<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) , зависит от реализации типа source параметра. Ожидаемое поведение заключается в том, что он вызывает selector для каждого элемента в source и возвращает минимальное значение.

Применяется к

Min<TSource>(IQueryable<TSource>)

Исходный код:
Queryable.cs
Исходный код:
Queryable.cs
Исходный код:
Queryable.cs

Возвращает минимальное значение для универсального интерфейса IQueryable<T>.

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

Параметры типа

TSource

Тип элементов source.

Параметры

source
IQueryable<TSource>

Последовательность значений, для которой определяется минимум.

Возвращаемое значение

TSource

Минимальное значение в последовательности.

Исключения

source имеет значение null.

Последовательность source не содержит элементов.

Примеры

В следующем примере кода показано, как использовать Min<TSource>(IQueryable<TSource>) для определения минимального значения в последовательности.

double[] doubles = { 1.5E+104, 9E+103, -2E+103 };

double min = doubles.AsQueryable().Min();

Console.WriteLine("The smallest number is {0}.", min);

/*
    This code produces the following output:

    The smallest number is -2E+103.
*/
Dim doubles() As Double = {1.5E+104, 9.0E+103, -2.0E+103}

Dim min As Double = doubles.AsQueryable().Min()

MsgBox(String.Format("The smallest number is {0}.", min))

'This code produces the following output:

'The smallest number is -2E+103.

Комментарии

Метод Min<TSource>(IQueryable<TSource>) создает объект , MethodCallExpression представляющий вызов Min<TSource>(IQueryable<TSource>) как сконструированный универсальный метод. Затем он передает MethodCallExpressionExecute<TResult>(Expression) в метод объекта , представленный IQueryProvider свойством Providersource параметра .

Поведение запроса, возникающее в результате выполнения дерева выражений, представляющего вызов Min<TSource>(IQueryable<TSource>) , зависит от реализации типа source параметра. Ожидаемое поведение заключается в том, что он возвращает минимальное значение в source.

Применяется к

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

Исходный код:
Queryable.cs
Исходный код:
Queryable.cs
Исходный код:
Queryable.cs

Возвращает минимальное значение в универсальном объекте IQueryable<T>.

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

Ни один объект в source не реализует интерфейс IComparable или IComparable<T>.

Применяется к