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 : classParameters
| 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 : classParameters
| 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 |