MoreEnumerableSubsetsT 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
Assembly:
MoreLinq (in MoreLinq.dll) Version: 3.0.0
Syntax public static IEnumerable<IList<T>> Subsets<T>(
this IEnumerable<T> sequence
)
<ExtensionAttribute>
Public Shared Function Subsets(Of T) (
sequence As IEnumerable(Of T)
) As IEnumerable(Of IList(Of T))
public:
[ExtensionAttribute]
generic<typename T>
static IEnumerable<IList<T>^>^ Subsets(
IEnumerable<T>^ sequence
)
[<ExtensionAttribute>]
static member Subsets :
sequence : IEnumerable<'T> -> IEnumerable<IList<'T>>
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:
IEnumerableIListTA 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 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