EnumerableExtensions Class

public static class EnumerableExtensions

No documentation is available.

Methods

NameDescription
AddOrReplace<T>(IList<T>, T?, T)
AddRange<T>(ICollection<T>, IEnumerable<T>?)
AddRange<T>(ICollection<T>, T[])
AsEnumerableOnce<T>(IEnumerable<T>)Ensure the enumerable instance is enumerated only once.
Average(IEnumerable<TimeSpan>)
ContainsIgnoreCase(IEnumerable<string>, string)
EmptyIfNull<T>(IEnumerable<T>?)
EnumerateAll<TSource>(IEnumerable<TSource>)
ForEach<TSource>(IEnumerable<TSource>, Action<TSource, int>)
ForEach<TSource>(IEnumerable<TSource>, Action<TSource>)
ForEachAsync<TSource>(IEnumerable<TSource>, Func<TSource, int, CancellationToken, Task>, CancellationToken)
ForEachAsync<TSource>(IEnumerable<TSource>, Func<TSource, int, Task>, CancellationToken)
ForEachAsync<TSource>(IEnumerable<TSource>, Func<TSource, CancellationToken, Task>, CancellationToken)
ForEachAsync<TSource>(IEnumerable<TSource>, Func<TSource, Task>, CancellationToken)
GetAsyncEnumerator<T>(IAsyncEnumerator<T>)Allow to use the foreach keyword with an IAsyncEnumerator
GetEnumerator<T>(IEnumerator<T>)Allow to use the foreach keyword with an IEnumerator
IndexOf<T>(IEnumerable<T>, T)
IndexOf<T>(IEnumerable<T>, T, IEqualityComparer<T>?)
IsDistinct<TSource>(IEnumerable<TSource>)
IsDistinct<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>?)
IsDistinctBy<TSource, TKey>(IEnumerable<TSource>, Func<TSource, TKey>)
IsDistinctBy<TSource, TKey>(IEnumerable<TSource>, Func<TSource, TKey>, IEqualityComparer<TKey>?)
LongIndexOf<T>(IEnumerable<T>, T)
LongIndexOf<T>(IEnumerable<T>, T, IEqualityComparer<T>?)
ParallelForEachAsync<TSource>(IEnumerable<TSource>, Func<TSource, Task>)
ParallelForEachAsync<TSource>(IEnumerable<TSource>, Func<TSource, Task>, CancellationToken)
ParallelForEachAsync<TSource>(IEnumerable<TSource>, int, Func<TSource, Task>)
ParallelForEachAsync<TSource>(IEnumerable<TSource>, int, Func<TSource, Task>, CancellationToken)
RemoveAll<T>(ICollection<T>, Predicate<T>)
Replace<T>(IList<T>, T, T)
Sum(IEnumerable<TimeSpan>)
ToArrayAsync<T>(Task<IEnumerable<T>>)
ToAsyncEnumerable<T>(IEnumerable<T>)Wraps an IEnumerable<T> into an IAsyncEnumerable<T>.
ToAsyncEnumerator<T>(IEnumerator<T>)Wraps an IEnumerator<T> into an IAsyncEnumerator<T>.
ToCollection<T>(IEnumerable<T>)
ToListAsync<T>(Task<IEnumerable<T>>)
ToOnlyEnumerable<T>(IEnumerable<T>)
ToReadOnlyCollection<T>(IEnumerable<T>)
WhereNotNull<T>(IEnumerable<T?>)
WhereNotNull<T>(IEnumerable<T?>)
WhereNotNullOrEmpty(IEnumerable<string?>)
WhereNotNullOrWhiteSpace(IEnumerable<string?>)

AddOrReplace<T>(IList<T>, T?, T)

EnumerableExtensions.cs
public static void AddOrReplace<T>(this IList<T> list, T? oldItem, T newItem)

Type parameters

T

Parameters

list IList<T>
oldItem T?
newItem T

No documentation is available.

AddRange overloads

AddRange<T>(ICollection<T>, IEnumerable<T>?)

EnumerableExtensions.cs
public static void AddRange<T>(this ICollection<T> collection, IEnumerable<T>? items)
Type parameters
T
Parameters
collection ICollection<T>
items IEnumerable<T>?

No documentation is available.

AddRange<T>(ICollection<T>, T[])

EnumerableExtensions.cs
public static void AddRange<T>(this ICollection<T> collection, params T[] items)
Type parameters
T
Parameters
collection ICollection<T>
items T[]

No documentation is available.

AsEnumerableOnce<T>(IEnumerable<T>)

EnumerableExtensions.cs

Ensure the enumerable instance is enumerated only once.

public static IEnumerable<T> AsEnumerableOnce<T>(this IEnumerable<T> enumerable)

Type parameters

T

Parameters

enumerable IEnumerable<T>

Returns

IEnumerable<T>

Average(IEnumerable<TimeSpan>)

EnumerableExtensions.cs
public static TimeSpan Average(this IEnumerable<TimeSpan> enumerable)

Parameters

enumerable IEnumerable<TimeSpan>

Returns

TimeSpan

No documentation is available.

ContainsIgnoreCase(IEnumerable<string>, string)

EnumerableExtensions.cs
public static bool ContainsIgnoreCase(this IEnumerable<string> str, string value)

Parameters

str IEnumerable<string>
value string

Returns

bool

No documentation is available.

EmptyIfNull<T>(IEnumerable<T>?)

EnumerableExtensions.cs
public static IEnumerable<T> EmptyIfNull<T>(this IEnumerable<T>? items)

Type parameters

T

Parameters

items IEnumerable<T>?

Returns

IEnumerable<T>

No documentation is available.

EnumerateAll<TSource>(IEnumerable<TSource>)

EnumerableExtensions.cs
public static void EnumerateAll<TSource>(this IEnumerable<TSource> source)

Type parameters

TSource

Parameters

source IEnumerable<TSource>

No documentation is available.

ForEach overloads

ForEach<TSource>(IEnumerable<TSource>, Action<TSource, int>)

EnumerableExtensions.cs
public static void ForEach<TSource>(this IEnumerable<TSource> source, Action<TSource, int> action)
Type parameters
TSource
Parameters
source IEnumerable<TSource>
action Action<TSource, int>

No documentation is available.

ForEach<TSource>(IEnumerable<TSource>, Action<TSource>)

EnumerableExtensions.cs
public static void ForEach<TSource>(this IEnumerable<TSource> source, Action<TSource> action)
Type parameters
TSource
Parameters
source IEnumerable<TSource>
action Action<TSource>

No documentation is available.

ForEachAsync overloads

ForEachAsync<TSource>(IEnumerable<TSource>, Func<TSource, int, CancellationToken, Task>, CancellationToken)

EnumerableExtensions.ForEachAsync.cs

net10.0

public static Task ForEachAsync<TSource>(this IEnumerable<TSource> source, Func<TSource, int, CancellationToken, Task> action, CancellationToken cancellationToken = default)

net11.0

public static Task ForEachAsync<TSource>(this IEnumerable<TSource> source, Func<TSource, int, CancellationToken, Task> action, CancellationToken cancellationToken = default)
Type parameters
TSource
Parameters
source IEnumerable<TSource>
action Func<TSource, int, CancellationToken, Task>
cancellationToken CancellationToken
Returns

Task

No documentation is available.

ForEachAsync<TSource>(IEnumerable<TSource>, Func<TSource, int, Task>, CancellationToken)

EnumerableExtensions.ForEachAsync.cs

net10.0

public static Task ForEachAsync<TSource>(this IEnumerable<TSource> source, Func<TSource, int, Task> action, CancellationToken cancellationToken = default)

net11.0

public static Task ForEachAsync<TSource>(this IEnumerable<TSource> source, Func<TSource, int, Task> action, CancellationToken cancellationToken = default)
Type parameters
TSource
Parameters
source IEnumerable<TSource>
action Func<TSource, int, Task>
cancellationToken CancellationToken
Returns

Task

No documentation is available.

ForEachAsync<TSource>(IEnumerable<TSource>, Func<TSource, CancellationToken, Task>, CancellationToken)

EnumerableExtensions.ForEachAsync.cs

net10.0

public static Task ForEachAsync<TSource>(this IEnumerable<TSource> source, Func<TSource, CancellationToken, Task> action, CancellationToken cancellationToken = default)

net11.0

public static Task ForEachAsync<TSource>(this IEnumerable<TSource> source, Func<TSource, CancellationToken, Task> action, CancellationToken cancellationToken = default)
Type parameters
TSource
Parameters
source IEnumerable<TSource>
action Func<TSource, CancellationToken, Task>
cancellationToken CancellationToken
Returns

Task

No documentation is available.

ForEachAsync<TSource>(IEnumerable<TSource>, Func<TSource, Task>, CancellationToken)

EnumerableExtensions.ForEachAsync.cs

net10.0

public static Task ForEachAsync<TSource>(this IEnumerable<TSource> source, Func<TSource, Task> action, CancellationToken cancellationToken = default)

net11.0

public static Task ForEachAsync<TSource>(this IEnumerable<TSource> source, Func<TSource, Task> action, CancellationToken cancellationToken = default)
Type parameters
TSource
Parameters
source IEnumerable<TSource>
action Func<TSource, Task>
cancellationToken CancellationToken
Returns

Task

No documentation is available.

GetAsyncEnumerator<T>(IAsyncEnumerator<T>)

EnumerableExtensions.cs

Allow to use the foreach keyword with an IAsyncEnumerator

public static IAsyncEnumerator<T> GetAsyncEnumerator<T>(this IAsyncEnumerator<T> enumerator)

Type parameters

T

Parameters

enumerator IAsyncEnumerator<T>

Returns

IAsyncEnumerator<T>

GetEnumerator<T>(IEnumerator<T>)

EnumerableExtensions.cs

Allow to use the foreach keyword with an IEnumerator

public static IEnumerator<T> GetEnumerator<T>(this IEnumerator<T> enumerator)

Type parameters

T

Parameters

enumerator IEnumerator<T>

Returns

IEnumerator<T>

IndexOf overloads

IndexOf<T>(IEnumerable<T>, T)

EnumerableExtensions.cs
public static int IndexOf<T>(this IEnumerable<T> list, T value)
Type parameters
T
Parameters
list IEnumerable<T>
value T
Returns

int

No documentation is available.

IndexOf<T>(IEnumerable<T>, T, IEqualityComparer<T>?)

EnumerableExtensions.cs
public static int IndexOf<T>(this IEnumerable<T> list, T value, IEqualityComparer<T>? comparer)
Type parameters
T
Parameters
list IEnumerable<T>
value T
comparer IEqualityComparer<T>?
Returns

int

No documentation is available.

IsDistinct overloads

IsDistinct<TSource>(IEnumerable<TSource>)

EnumerableExtensions.cs
public static bool IsDistinct<TSource>(this IEnumerable<TSource> source)
Type parameters
TSource
Parameters
source IEnumerable<TSource>
Returns

bool

No documentation is available.

IsDistinct<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>?)

EnumerableExtensions.cs
public static bool IsDistinct<TSource>(this IEnumerable<TSource> source, IEqualityComparer<TSource>? comparer)
Type parameters
TSource
Parameters
source IEnumerable<TSource>
comparer IEqualityComparer<TSource>?
Returns

bool

No documentation is available.

IsDistinctBy overloads

IsDistinctBy<TSource, TKey>(IEnumerable<TSource>, Func<TSource, TKey>)

EnumerableExtensions.cs
public static bool IsDistinctBy<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector)
Type parameters
TSource
TKey
Parameters
source IEnumerable<TSource>
keySelector Func<TSource, TKey>
Returns

bool

No documentation is available.

IsDistinctBy<TSource, TKey>(IEnumerable<TSource>, Func<TSource, TKey>, IEqualityComparer<TKey>?)

EnumerableExtensions.cs
public static bool IsDistinctBy<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey>? comparer)
Type parameters
TSource
TKey
Parameters
source IEnumerable<TSource>
keySelector Func<TSource, TKey>
comparer IEqualityComparer<TKey>?
Returns

bool

No documentation is available.

LongIndexOf overloads

LongIndexOf<T>(IEnumerable<T>, T)

EnumerableExtensions.cs
public static long LongIndexOf<T>(this IEnumerable<T> list, T value) where T : IEquatable<T>
Type parameters
T
Parameters
list IEnumerable<T>
value T
Returns

long

No documentation is available.

LongIndexOf<T>(IEnumerable<T>, T, IEqualityComparer<T>?)

EnumerableExtensions.cs
public static long LongIndexOf<T>(this IEnumerable<T> list, T value, IEqualityComparer<T>? comparer)
Type parameters
T
Parameters
list IEnumerable<T>
value T
comparer IEqualityComparer<T>?
Returns

long

No documentation is available.

ParallelForEachAsync overloads

ParallelForEachAsync<TSource>(IEnumerable<TSource>, Func<TSource, Task>)

EnumerableExtensions.ParallelForEachAsync.cs
public static Task ParallelForEachAsync<TSource>(this IEnumerable<TSource> source, Func<TSource, Task> action)
Type parameters
TSource
Parameters
source IEnumerable<TSource>
action Func<TSource, Task>
Returns

Task

No documentation is available.

ParallelForEachAsync<TSource>(IEnumerable<TSource>, Func<TSource, Task>, CancellationToken)

EnumerableExtensions.ParallelForEachAsync.cs
public static Task ParallelForEachAsync<TSource>(this IEnumerable<TSource> source, Func<TSource, Task> action, CancellationToken cancellationToken)
Type parameters
TSource
Parameters
source IEnumerable<TSource>
action Func<TSource, Task>
cancellationToken CancellationToken
Returns

Task

No documentation is available.

ParallelForEachAsync<TSource>(IEnumerable<TSource>, int, Func<TSource, Task>)

EnumerableExtensions.ParallelForEachAsync.cs
public static Task ParallelForEachAsync<TSource>(this IEnumerable<TSource> source, int degreeOfParallelism, Func<TSource, Task> action)
Type parameters
TSource
Parameters
source IEnumerable<TSource>
degreeOfParallelism int
action Func<TSource, Task>
Returns

Task

No documentation is available.

ParallelForEachAsync<TSource>(IEnumerable<TSource>, int, Func<TSource, Task>, CancellationToken)

EnumerableExtensions.ParallelForEachAsync.cs
public static Task ParallelForEachAsync<TSource>(this IEnumerable<TSource> source, int degreeOfParallelism, Func<TSource, Task> action, CancellationToken cancellationToken)
Type parameters
TSource
Parameters
source IEnumerable<TSource>
degreeOfParallelism int
action Func<TSource, Task>
cancellationToken CancellationToken
Returns

Task

No documentation is available.

RemoveAll<T>(ICollection<T>, Predicate<T>)

EnumerableExtensions.cs
public static void RemoveAll<T>(this ICollection<T> collection, Predicate<T> match)

Type parameters

T

Parameters

collection ICollection<T>
match Predicate<T>

No documentation is available.

Replace<T>(IList<T>, T, T)

EnumerableExtensions.cs
public static void Replace<T>(this IList<T> list, T oldItem, T newItem)

Type parameters

T

Parameters

list IList<T>
oldItem T
newItem T

No documentation is available.

Sum(IEnumerable<TimeSpan>)

EnumerableExtensions.cs
public static TimeSpan Sum(this IEnumerable<TimeSpan> enumerable)

Parameters

enumerable IEnumerable<TimeSpan>

Returns

TimeSpan

No documentation is available.

ToArrayAsync<T>(Task<IEnumerable<T>>)

EnumerableExtensions.cs

net10.0

public static Task<T[]> ToArrayAsync<T>(this Task<IEnumerable<T>> task)

net11.0

public static Task<T[]> ToArrayAsync<T>(this Task<IEnumerable<T>> task)

Type parameters

T

Parameters

task Task<IEnumerable<T>>

Returns

Task<T[]>

No documentation is available.

ToAsyncEnumerable<T>(IEnumerable<T>)

EnumerableExtensions.ToAsyncEnumerable.cs
  • Obsolete: Use System.Linq.AsyncEnumerable.ToAsyncEnumerable instead.
[Obsolete("Use System.Linq.AsyncEnumerable.ToAsyncEnumerable instead.")]
public static IAsyncEnumerable<T> ToAsyncEnumerable<T>(IEnumerable<T> source)

Type parameters

T

Parameters

source IEnumerable<T>

Returns

IAsyncEnumerable<T>

Remarks

This method is not an extension method anymore, so that source.ToAsyncEnumerable() calls AsyncEnumerable.ToAsyncEnumerable instead of being ambiguous with it.

ToAsyncEnumerator<T>(IEnumerator<T>)

EnumerableExtensions.ToAsyncEnumerable.cs
public static IAsyncEnumerator<T> ToAsyncEnumerator<T>(this IEnumerator<T> source)

Type parameters

T

Parameters

source IEnumerator<T>

Returns

IAsyncEnumerator<T>

ToCollection<T>(IEnumerable<T>)

EnumerableExtensions.cs
public static ICollection<T> ToCollection<T>(this IEnumerable<T> sequence)

Type parameters

T

Parameters

sequence IEnumerable<T>

Returns

ICollection<T>

No documentation is available.

ToListAsync<T>(Task<IEnumerable<T>>)

EnumerableExtensions.cs

net10.0

public static Task<List<T>> ToListAsync<T>(this Task<IEnumerable<T>> task)

net11.0

public static Task<List<T>> ToListAsync<T>(this Task<IEnumerable<T>> task)

Type parameters

T

Parameters

task Task<IEnumerable<T>>

Returns

Task<List<T>>

No documentation is available.

ToOnlyEnumerable<T>(IEnumerable<T>)

EnumerableExtensions.cs
public static IEnumerable<T> ToOnlyEnumerable<T>(this IEnumerable<T> enumerable)

Type parameters

T

Parameters

enumerable IEnumerable<T>

Returns

IEnumerable<T>

No documentation is available.

ToReadOnlyCollection<T>(IEnumerable<T>)

EnumerableExtensions.cs
public static ReadOnlyCollection<T> ToReadOnlyCollection<T>(this IEnumerable<T> source)

Type parameters

T

Parameters

source IEnumerable<T>

Returns

ReadOnlyCollection<T>

No documentation is available.

WhereNotNull overloads

WhereNotNull<T>(IEnumerable<T?>)

EnumerableExtensions.cs
public static IEnumerable<T> WhereNotNull<T>(this IEnumerable<T?> items) where T : struct
Type parameters
T
Parameters
items IEnumerable<T?>
Returns

IEnumerable<T>

No documentation is available.

WhereNotNull<T>(IEnumerable<T?>)

EnumerableExtensions.cs
public static IEnumerable<T> WhereNotNull<T>(this IEnumerable<T?> source) where T : class
Type parameters
T
Parameters
source IEnumerable<T?>
Returns

IEnumerable<T>

No documentation is available.

WhereNotNullOrEmpty(IEnumerable<string?>)

EnumerableExtensions.cs
public static IEnumerable<string> WhereNotNullOrEmpty(this IEnumerable<string?> source)

No documentation is available.

WhereNotNullOrWhiteSpace(IEnumerable<string?>)

EnumerableExtensions.cs
public static IEnumerable<string> WhereNotNullOrWhiteSpace(this IEnumerable<string?> source)

No documentation is available.