Class EnumerableExtensions
Extension methods for IEnumerable<T>: random selection, ordering, chunking, and null handling.
public static class EnumerableExtensions
- Inheritance
-
EnumerableExtensions
- Inherited Members
Methods
EmptyIfNull<T>(IEnumerable<T>)
Returns an empty sequence if the input is null; otherwise returns the input.
public static IEnumerable<T> EmptyIfNull<T>(IEnumerable<T> items)
Parameters
itemsIEnumerable<T>
Returns
- IEnumerable<T>
Type Parameters
T
IsNullOrEmpty<T>(IEnumerable<T>)
Returns true if the sequence is null or contains no elements.
public static bool IsNullOrEmpty<T>(IEnumerable<T> values)
Parameters
valuesIEnumerable<T>
Returns
Type Parameters
T
RandomOrder<T>(IEnumerable<T>)
Returns the elements of the sequence in random order.
public static IEnumerable<T> RandomOrder<T>(this IEnumerable<T> values)
Parameters
valuesIEnumerable<T>
Returns
- IEnumerable<T>
Type Parameters
T
TakeAllButFirst<T>(IEnumerable<T>)
Returns all elements except the first.
public static IEnumerable<T> TakeAllButFirst<T>(this IEnumerable<T> values)
Parameters
valuesIEnumerable<T>
Returns
- IEnumerable<T>
Type Parameters
T
TakeAllButLast<T>(IEnumerable<T>)
Returns all elements except the last.
public static IEnumerable<T> TakeAllButLast<T>(this IEnumerable<T> values)
Parameters
valuesIEnumerable<T>
Returns
- IEnumerable<T>
Type Parameters
T
TakeChunks<TValue>(IEnumerable<TValue>, int)
Splits the sequence into chunks of the specified size.
public static IEnumerable<IEnumerable<TValue>> TakeChunks<TValue>(this IEnumerable<TValue> values, int chunkSize)
Parameters
valuesIEnumerable<TValue>chunkSizeint
Returns
- IEnumerable<IEnumerable<TValue>>
Type Parameters
TValue
TakeRandom<T>(IEnumerable<T>)
Selects a random element from the sequence. Returns default if null or empty.
public static T TakeRandom<T>(this IEnumerable<T> values)
Parameters
valuesIEnumerable<T>
Returns
- T
Type Parameters
T