Queryable.Min Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
Min<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) |
Invokes a projection function on each element of a generic IQueryable<T> and returns the minimum resulting value. |
Min<TSource>(IQueryable<TSource>) |
Returns the minimum value of a generic IQueryable<T>. |
Min<TSource>(IQueryable<TSource>, IComparer<TSource>) |
Returns the minimum value in a generic IQueryable<T>. |
Min<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>)
- Source:
- Queryable.cs
- Source:
- Queryable.cs
- Source:
- Queryable.cs
Invokes a projection function on each element of a generic IQueryable<T> and returns the minimum resulting value.
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
Type Parameters
- TSource
The type of the elements of source
.
- TResult
The type of the value returned by the function represented by selector
.
Parameters
- source
- IQueryable<TSource>
A sequence of values to determine the minimum of.
- selector
- Expression<Func<TSource,TResult>>
A projection function to apply to each element.
Returns
The minimum value in the sequence.
Exceptions
source
or selector
is null
.
source
contains no elements.
Examples
The following code example demonstrates how to use Min<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) to determine the minimum value in a sequence of projected values.
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.
Remarks
This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.
The Min<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) method generates a MethodCallExpression that represents calling Min<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) itself as a constructed generic method. It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source
parameter.
The query behavior that occurs as a result of executing an expression tree that represents calling Min<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>) depends on the implementation of the type of the source
parameter. The expected behavior is that it invokes selector
on each element in source
and returns the minimum value.
Applies to
Min<TSource>(IQueryable<TSource>)
- Source:
- Queryable.cs
- Source:
- Queryable.cs
- Source:
- Queryable.cs
Returns the minimum value of a generic 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
Type Parameters
- TSource
The type of the elements of source
.
Parameters
- source
- IQueryable<TSource>
A sequence of values to determine the minimum of.
Returns
The minimum value in the sequence.
Exceptions
source
is null
.
source
contains no elements.
Examples
The following code example demonstrates how to use Min<TSource>(IQueryable<TSource>) to determine the minimum value in a sequence.
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.
Remarks
The Min<TSource>(IQueryable<TSource>) method generates a MethodCallExpression that represents calling Min<TSource>(IQueryable<TSource>) itself as a constructed generic method. It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source
parameter.
The query behavior that occurs as a result of executing an expression tree that represents calling Min<TSource>(IQueryable<TSource>) depends on the implementation of the type of the source
parameter. The expected behavior is that it returns the minimum value in source
.
Applies to
Min<TSource>(IQueryable<TSource>, IComparer<TSource>)
- Source:
- Queryable.cs
- Source:
- Queryable.cs
- Source:
- Queryable.cs
Returns the minimum value in a generic 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
Type Parameters
- TSource
The type of the elements of source
.
Parameters
- source
- IQueryable<TSource>
A sequence of values to determine the minimum value of.
- comparer
- IComparer<TSource>
The IComparer<T> to compare values.
Returns
The minimum value in the sequence.
Exceptions
source
is null
.
No object in source
implements the IComparable or IComparable<T> interface.