SubsetsExtensionSubsetsT(IEnumerableT) Method

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.

Definition

Namespace: MoreLinq.Extensions
Assembly: MoreLinq (in MoreLinq.dll) Version: 4.1.0+0e154ef592f33ce0f6f3d534a9eedee273f0ce72
C#
public static IEnumerable<IList<T>> Subsets<T>(
	this IEnumerable<T> sequence
)

Parameters

sequence  IEnumerableT
Sequence for which to produce subsets.

Type Parameters

T
The type of the elements in the sequence.

Return Value

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).

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 2N subsets of a given sequence, where N ⇒ sequence.Count().

Exceptions

ArgumentNullExceptionThrown if sequence is .

See Also