AsyncEnumerable.MinByAsync Method

Definition

Overloads

MinByAsync<TSource,TKey>(IAsyncEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>, CancellationToken)

Returns the minimum value in a generic sequence according to a specified key selector function.

MinByAsync<TSource,TKey>(IAsyncEnumerable<TSource>, Func<TSource,CancellationToken,ValueTask<TKey>>, IComparer<TKey>, CancellationToken)

Returns the minimum value in a generic sequence according to a specified key selector function.

MinByAsync<TSource,TKey>(IAsyncEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>, CancellationToken)

Source:
MinByAsync.cs

Returns the minimum value in a generic sequence according to a specified key selector function.

C#
public static System.Threading.Tasks.ValueTask<TSource?> MinByAsync<TSource,TKey>(this System.Collections.Generic.IAsyncEnumerable<TSource> source, Func<TSource,TKey> keySelector, System.Collections.Generic.IComparer<TKey>? comparer = default, System.Threading.CancellationToken cancellationToken = default);

Type Parameters

TSource

The type of the elements of source.

TKey

The type of key to compare elements by.

Parameters

source
IAsyncEnumerable<TSource>

A sequence of values to determine the minimum value of.

keySelector
Func<TSource,TKey>

A function to extract the key for each element.

comparer
IComparer<TKey>

The IComparer<T> to compare keys.

cancellationToken
CancellationToken

The CancellationToken to monitor for cancellation requests. The default is None.

Returns

ValueTask<TSource>

The value with the minimum key in the sequence.

Exceptions

source is null.

No key extracted from source implements the IComparable or IComparable<T> interface.

Remarks

If TKey is a reference type and the source sequence is empty or contains only values that are null, this method returns null.

Applies to

.NET 10 and other versions
Product Versions
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided), 10
.NET Standard 2.0 (package-provided)

MinByAsync<TSource,TKey>(IAsyncEnumerable<TSource>, Func<TSource,CancellationToken,ValueTask<TKey>>, IComparer<TKey>, CancellationToken)

Source:
MinByAsync.cs

Returns the minimum value in a generic sequence according to a specified key selector function.

C#
public static System.Threading.Tasks.ValueTask<TSource?> MinByAsync<TSource,TKey>(this System.Collections.Generic.IAsyncEnumerable<TSource> source, Func<TSource,System.Threading.CancellationToken,System.Threading.Tasks.ValueTask<TKey>> keySelector, System.Collections.Generic.IComparer<TKey>? comparer = default, System.Threading.CancellationToken cancellationToken = default);

Type Parameters

TSource

The type of the elements of source.

TKey

The type of key to compare elements by.

Parameters

source
IAsyncEnumerable<TSource>

A sequence of values to determine the minimum value of.

keySelector
Func<TSource,CancellationToken,ValueTask<TKey>>

A function to extract the key for each element.

comparer
IComparer<TKey>

The IComparer<T> to compare keys.

cancellationToken
CancellationToken

The CancellationToken to monitor for cancellation requests. The default is None.

Returns

ValueTask<TSource>

The value with the minimum key in the sequence.

Exceptions

source is null.

No key extracted from source implements the IComparable or IComparable<T> interface.

Remarks

If TKey is a reference type and the source sequence is empty or contains only values that are null, this method returns null.

Applies to

.NET 10 and other versions
Product Versions
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided), 10
.NET Standard 2.0 (package-provided)