EnumerableExtensions
Collection and LINQ helper extension methods.
API Reference
| Method | Return | Description |
|---|---|---|
| OrEmpty<T>(this IEnumerable<T>?) | IEnumerable<T> | Empty if null |
| IsNullOrEmpty<T>(this IEnumerable<T>?) | bool | True if null or empty |
| HasItems<T>(this IEnumerable<T>?) | bool | True if has elements |
| ForEach<T>(this IEnumerable<T>, Action<T>) | void | Executes action for each |
| ForEach<T>(this IEnumerable<T>, Action<T, int>) | void | With index |
| ForEachAsync<T>(this IEnumerable<T>, Func<T, Task>) | Task | Sequential async |
| ForEachParallelAsync<T>(this IEnumerable<T>, Func<T, Task>, int) | Task | Parallel async |
| WhereNotNull<T>(this IEnumerable<T?>) | IEnumerable<T> | Filters nulls |
| DistinctBy<T, TKey>(this IEnumerable<T>, Func<T, TKey>) | IEnumerable<T> | Distinct by key |
| Batch<T>(this IEnumerable<T>, int) | IEnumerable<IEnumerable<T>> | Chunks |
| JoinWith<T>(this IEnumerable<T>, string) | string | String.Join |
| ToReadOnlyList<T>(this IEnumerable<T>) | IReadOnlyList<T> | Read-only list |
| ToSafeDictionary<T, TKey, TValue>(...) | Dictionary | Skips duplicates |
| RandomElement<T>(this IEnumerable<T>) | T? | Random element |
| Shuffle<T>(this IEnumerable<T>) | IEnumerable<T> | Randomized order |