Skip to content

EnumerableExtensions

Collection and LINQ helper extension methods.

API Reference

MethodReturnDescription
OrEmpty<T>(this IEnumerable<T>?)IEnumerable<T>Empty if null
IsNullOrEmpty<T>(this IEnumerable<T>?)boolTrue if null or empty
HasItems<T>(this IEnumerable<T>?)boolTrue if has elements
ForEach<T>(this IEnumerable<T>, Action<T>)voidExecutes action for each
ForEach<T>(this IEnumerable<T>, Action<T, int>)voidWith index
ForEachAsync<T>(this IEnumerable<T>, Func<T, Task>)TaskSequential async
ForEachParallelAsync<T>(this IEnumerable<T>, Func<T, Task>, int)TaskParallel 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)stringString.Join
ToReadOnlyList<T>(this IEnumerable<T>)IReadOnlyList<T>Read-only list
ToSafeDictionary<T, TKey, TValue>(...)DictionarySkips duplicates
RandomElement<T>(this IEnumerable<T>)T?Random element
Shuffle<T>(this IEnumerable<T>)IEnumerable<T>Randomized order

Released under the MIT License.