AsyncEnumerableExtensions.SumAsync<TSource>(IAsyncEnumerable<TSource>, Func<TSource, Nullable<UBinarySize>>, CancellationToken) Method

Asynchronously computes the sum of a sequence of nullable UBinarySize values that are obtained by invoking a transform function on each element of the input sequence.

Definition

Namespace: Ookii
Assembly: Ookii.BinarySize.Async (in Ookii.BinarySize.Async.dll) Version: 1.2.0+20f0bdf981c7baf115c68ccab612b1a031efcb4d
C#
public static ValueTask<UBinarySize?> SumAsync<TSource>(
	this IAsyncEnumerable<TSource> source,
	Func<TSource, UBinarySize?> selector,
	CancellationToken cancellationToken = default
)

Parameters

source  IAsyncEnumerable<TSource>
A sequence of values to calculate the sum of.
selector  Func<TSource, Nullable<UBinarySize>>
A transform function to apply to each element.
cancellationToken  CancellationToken  (Optional)
The optional cancellation token to be used for canceling the sequence at any time.

Type Parameters

TSource
The type of the elements of source.

Return Value

ValueTask<Nullable<UBinarySize>>
A task that represents the asynchronous operation. The result of the task is the sum of the values in the sequence.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IAsyncEnumerable<TSource>. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

Remarks

Items in source that are null are excluded from the computation of the sum. This method returns zero if source contains no elements or all elements are null.

Exceptions

ArgumentNullExceptionsource or selector is null.
OverflowException The sum is larger than UBinarySize.MaxValue.

See Also