Table of Contents

Class EnumerableExtensions

Namespace
Tharga.Toolkit
Assembly
Tharga.Toolkit.Standard.dll

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

items IEnumerable<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

values IEnumerable<T>

Returns

bool

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

values IEnumerable<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

values IEnumerable<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

values IEnumerable<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

values IEnumerable<TValue>
chunkSize int

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

values IEnumerable<T>

Returns

T

Type Parameters

T