Click or drag to resize

SubsetsExtensionSubsetsT Method (IEnumerableT)

Returns a sequence of IListT representing all of the subsets of any size that are part of the original sequence. In mathematics, it is equivalent to the power set of a set.

Namespace:  MoreLinq.Extensions
Assembly:  MoreLinq (in MoreLinq.dll) Version: 3.0.0
Syntax
public static IEnumerable<IList<T>> Subsets<T>(
	this IEnumerable<T> sequence
)

Parameters

sequence
Type: System.Collections.GenericIEnumerableT
Sequence for which to produce subsets

Type Parameters

T
The type of the elements in the sequence

Return Value

Type: IEnumerableIListT
A sequence of lists that represent the all subsets of the original sequence

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).
Exceptions
ExceptionCondition
ArgumentNullExceptionThrown if sequence is
Remarks
This operator produces all of the subsets of a given sequence. Subsets are returned in increasing cardinality, starting with the empty set and terminating with the entire original sequence.
Subsets are produced in a deferred, streaming manner; however, each subset is returned as a materialized list.
There are 2^N subsets of a given sequence, where N => sequence.Count().
See Also