ExperimentalEnumerableTrySingleT, TCardinality, TResult(IEnumerableT, TCardinality, TCardinality, TCardinality, FuncTCardinality, T, TResult) Method

Returns a result projected from the the cardinality of the sequence and the single element in the sequence if it contains exactly one element.

Definition

Namespace: MoreLinq.Experimental
Assembly: MoreLinq (in MoreLinq.dll) Version: 4.1.0+0e154ef592f33ce0f6f3d534a9eedee273f0ce72
C#
public static TResult TrySingle<T, TCardinality, TResult>(
	this IEnumerable<T> source,
	TCardinality zero,
	TCardinality one,
	TCardinality many,
	Func<TCardinality, T, TResult> resultSelector
)

Parameters

source  IEnumerableT
The source sequence.
zero  TCardinality
The value that is passed as the first argument to resultSelector if the sequence has zero elements.
one  TCardinality
The value that is passed as the first argument to resultSelector if the sequence has a single element only.
many  TCardinality
The value that is passed as the first argument to resultSelector if the sequence has two or more elements.
resultSelector  FuncTCardinality, T, TResult
A function that receives the cardinality and, if the sequence has just one element, the value of that element as argument and projects a resulting value of type TResult.

Type Parameters

T
The type of the elements of source.
TCardinality
The type that expresses cardinality.
TResult
The type of the result value returned by the resultSelector function.

Return Value

TResult
The value returned by resultSelector.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IEnumerableT. 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

This operator uses immediate execution, but never consumes more than two elements from the sequence.

See Also