SelectManyRecursiveDistinct<T>(T, Func<T, IEnumerable<T>?>, bool)
Declaration
public static HashSet<T> SelectManyRecursiveDistinct<T>(this T root, Func<T, IEnumerable<T>?> getChildren, bool includeRoot = true) where T : class
Parameters
Type | Name | Description |
---|---|---|
T | root | |
Func<T, IEnumerable<T>> | getChildren | |
bool | includeRoot |
Returns
Type | Description |
---|---|
HashSet<T> |
Type Parameters
Name | Description |
---|---|
T |
SelectManyRecursiveDistinct<T>(IEnumerable<T>, Func<T, IEnumerable<T>?>, bool)
Declaration
public static HashSet<T> SelectManyRecursiveDistinct<T>(this IEnumerable<T> roots, Func<T, IEnumerable<T>?> getChildren, bool includeRoots = true) where T : class
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<T> | roots | |
Func<T, IEnumerable<T>> | getChildren | |
bool | includeRoots |
Returns
Type | Description |
---|---|
HashSet<T> |
Type Parameters
Name | Description |
---|---|
T |
SelectManyRecursiveDistinct<T>(IEnumerable<T>, Func<T, IEnumerable<T>?>, IEqualityComparer<T>, bool)
Declaration
public static HashSet<T> SelectManyRecursiveDistinct<T>(this IEnumerable<T> roots, Func<T, IEnumerable<T>?> getChildren, IEqualityComparer<T> equalityComparer, bool includeRoots = true)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<T> | roots | |
Func<T, IEnumerable<T>> | getChildren | |
IEqualityComparer<T> | equalityComparer | |
bool | includeRoots |
Returns
Type | Description |
---|---|
HashSet<T> |
Type Parameters
Name | Description |
---|---|
T |