Table of Contents

Class EnumerableExtensions

Namespace
LfrlAnvil.Collections.Extensions
Assembly
LfrlAnvil.Collections.dll

Contains IEnumerable<T> extension methods.

public static class EnumerableExtensions
Inheritance
EnumerableExtensions
Inherited Members

Methods

AsEnumerable<TKey, TValue>(IReadOnlyMultiDictionary<TKey, TValue>)

Returns the provided source as IEnumerable<T>.

[Pure]
public static IEnumerable<KeyValuePair<TKey, IReadOnlyList<TValue>>> AsEnumerable<TKey, TValue>(this IReadOnlyMultiDictionary<TKey, TValue> source) where TKey : notnull

Parameters

source IReadOnlyMultiDictionary<TKey, TValue>

Source multi dictionary.

Returns

IEnumerable<KeyValuePair<TKey, IReadOnlyList<TValue>>>

Provided source.

Type Parameters

TKey

Key type.

TValue

Value type.

ToMultiDictionary<TKey, TValue>(IEnumerable<KeyValuePair<TKey, TValue>>)

Creates a new MultiDictionary<TKey, TValue> instance from the provided collection of (key, value) pairs with Default key comparer.

[Pure]
public static MultiDictionary<TKey, TValue> ToMultiDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> source) where TKey : notnull

Parameters

source IEnumerable<KeyValuePair<TKey, TValue>>

Source collection.

Returns

MultiDictionary<TKey, TValue>

New MultiDictionary<TKey, TValue> instance.

Type Parameters

TKey

Key type.

TValue

Value type.

ToMultiDictionary<TKey, TValue>(IEnumerable<KeyValuePair<TKey, TValue>>, IEqualityComparer<TKey>)

Creates a new MultiDictionary<TKey, TValue> instance from the provided collection of (key, value) pairs.

[Pure]
public static MultiDictionary<TKey, TValue> ToMultiDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> source, IEqualityComparer<TKey> comparer) where TKey : notnull

Parameters

source IEnumerable<KeyValuePair<TKey, TValue>>

Source collection.

comparer IEqualityComparer<TKey>

Key equality comparer.

Returns

MultiDictionary<TKey, TValue>

New MultiDictionary<TKey, TValue> instance.

Type Parameters

TKey

Key type.

TValue

Value type.

ToMultiDictionary<TKey, TValue>(IEnumerable<IGrouping<TKey, TValue>>)

Creates a new MultiDictionary<TKey, TValue> instance from the provided collection of groups with Default key comparer.

[Pure]
public static MultiDictionary<TKey, TValue> ToMultiDictionary<TKey, TValue>(this IEnumerable<IGrouping<TKey, TValue>> source) where TKey : notnull

Parameters

source IEnumerable<IGrouping<TKey, TValue>>

Source collection.

Returns

MultiDictionary<TKey, TValue>

New MultiDictionary<TKey, TValue> instance.

Type Parameters

TKey

Key type.

TValue

Value type.

ToMultiDictionary<TKey, TValue>(IEnumerable<IGrouping<TKey, TValue>>, IEqualityComparer<TKey>)

Creates a new MultiDictionary<TKey, TValue> instance from the provided collection of groups.

[Pure]
public static MultiDictionary<TKey, TValue> ToMultiDictionary<TKey, TValue>(this IEnumerable<IGrouping<TKey, TValue>> source, IEqualityComparer<TKey> comparer) where TKey : notnull

Parameters

source IEnumerable<IGrouping<TKey, TValue>>

Source collection.

comparer IEqualityComparer<TKey>

Key equality comparer.

Returns

MultiDictionary<TKey, TValue>

New MultiDictionary<TKey, TValue> instance.

Type Parameters

TKey

Key type.

TValue

Value type.

ToMultiDictionary<TKey, TValue>(IEnumerable<TValue>, Func<TValue, TKey>)

Creates a new MultiDictionary<TKey, TValue> instance from the provided collection with Default key comparer, using the specified keySelector.

[Pure]
public static MultiDictionary<TKey, TValue> ToMultiDictionary<TKey, TValue>(this IEnumerable<TValue> source, Func<TValue, TKey> keySelector) where TKey : notnull

Parameters

source IEnumerable<TValue>

Source collection.

keySelector Func<TValue, TKey>

Key selector.

Returns

MultiDictionary<TKey, TValue>

New MultiDictionary<TKey, TValue> instance.

Type Parameters

TKey

Key type.

TValue

Value type.

ToMultiDictionary<TKey, TValue>(IEnumerable<TValue>, Func<TValue, TKey>, IEqualityComparer<TKey>)

Creates a new MultiDictionary<TKey, TValue> instance from the provided collection, using the specified keySelector.

[Pure]
public static MultiDictionary<TKey, TValue> ToMultiDictionary<TKey, TValue>(this IEnumerable<TValue> source, Func<TValue, TKey> keySelector, IEqualityComparer<TKey> comparer) where TKey : notnull

Parameters

source IEnumerable<TValue>

Source collection.

keySelector Func<TValue, TKey>

Key selector.

comparer IEqualityComparer<TKey>

Key equality comparer.

Returns

MultiDictionary<TKey, TValue>

New MultiDictionary<TKey, TValue> instance.

Type Parameters

TKey

Key type.

TValue

Value type.

ToMultiDictionary<TSource, TKey, TValue>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TValue>)

Creates a new MultiDictionary<TKey, TValue> instance from the provided collection with Default key comparer, using the specified keySelector and valueSelector.

[Pure]
public static MultiDictionary<TKey, TValue> ToMultiDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> valueSelector) where TKey : notnull

Parameters

source IEnumerable<TSource>

Source collection.

keySelector Func<TSource, TKey>

Key selector.

valueSelector Func<TSource, TValue>

Value selector.

Returns

MultiDictionary<TKey, TValue>

New MultiDictionary<TKey, TValue> instance.

Type Parameters

TSource

Source element type.

TKey

Key type.

TValue

Value type.

ToMultiDictionary<TSource, TKey, TValue>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TValue>, IEqualityComparer<TKey>)

Creates a new MultiDictionary<TKey, TValue> instance from the provided collection, using the specified keySelector and valueSelector.

[Pure]
public static MultiDictionary<TKey, TValue> ToMultiDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> valueSelector, IEqualityComparer<TKey> comparer) where TKey : notnull

Parameters

source IEnumerable<TSource>

Source collection.

keySelector Func<TSource, TKey>

Key selector.

valueSelector Func<TSource, TValue>

Value selector.

comparer IEqualityComparer<TKey>

Key equality comparer.

Returns

MultiDictionary<TKey, TValue>

New MultiDictionary<TKey, TValue> instance.

Type Parameters

TSource

Source element type.

TKey

Key type.

TValue

Value type.

ToMultiHashSet<T>(IEnumerable<T>)

Creates a new MultiHashSet<T> instance from the provided collection with Default comparer.

[Pure]
public static MultiHashSet<T> ToMultiHashSet<T>(this IEnumerable<T> source) where T : notnull

Parameters

source IEnumerable<T>

Source collection.

Returns

MultiHashSet<T>

New MultiHashSet<T> instance.

Type Parameters

T

Element type.

ToMultiHashSet<T>(IEnumerable<T>, IEqualityComparer<T>)

Creates a new MultiHashSet<T> instance from the provided collection.

[Pure]
public static MultiHashSet<T> ToMultiHashSet<T>(this IEnumerable<T> source, IEqualityComparer<T> comparer) where T : notnull

Parameters

source IEnumerable<T>

Source collection.

comparer IEqualityComparer<T>

Element equality comparer.

Returns

MultiHashSet<T>

New MultiHashSet<T> instance.

Type Parameters

T

Element type.

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

Creates a new SequentialDictionary<TKey, TValue> instance from the provided collection with Default key comparer, using the specified keySelector.

[Pure]
public static SequentialDictionary<TKey, TSource> ToSequentialDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector) where TKey : notnull

Parameters

source IEnumerable<TSource>

Source collection.

keySelector Func<TSource, TKey>

Key selector.

Returns

SequentialDictionary<TKey, TSource>

New SequentialDictionary<TKey, TValue> instance.

Type Parameters

TSource

Source element type.

TKey

Key type.

Exceptions

ArgumentException

When at least one key is not unique.

ToSequentialDictionary<TSource, TKey>(IEnumerable<TSource>, Func<TSource, TKey>, IEqualityComparer<TKey>)

Creates a new SequentialDictionary<TKey, TValue> instance from the provided collection, using the specified keySelector.

[Pure]
public static SequentialDictionary<TKey, TSource> ToSequentialDictionary<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey> comparer) where TKey : notnull

Parameters

source IEnumerable<TSource>

Source collection.

keySelector Func<TSource, TKey>

Key selector.

comparer IEqualityComparer<TKey>

Key equality comparer.

Returns

SequentialDictionary<TKey, TSource>

New SequentialDictionary<TKey, TValue> instance.

Type Parameters

TSource

Source element type.

TKey

Key type.

Exceptions

ArgumentException

When at least one key is not unique.

ToSequentialDictionary<TSource, TKey, TValue>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TValue>)

Creates a new SequentialDictionary<TKey, TValue> instance from the provided collection with Default key comparer, using the specified keySelector and valueSelector.

[Pure]
public static SequentialDictionary<TKey, TValue> ToSequentialDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> valueSelector) where TKey : notnull

Parameters

source IEnumerable<TSource>

Source collection.

keySelector Func<TSource, TKey>

Key selector.

valueSelector Func<TSource, TValue>

Value selector.

Returns

SequentialDictionary<TKey, TValue>

New SequentialDictionary<TKey, TValue> instance.

Type Parameters

TSource

Source element type.

TKey

Key type.

TValue

Value type.

Exceptions

ArgumentException

When at least one key is not unique.

ToSequentialDictionary<TSource, TKey, TValue>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TValue>, IEqualityComparer<TKey>)

Creates a new SequentialDictionary<TKey, TValue> instance from the provided collection, using the specified keySelector and valueSelector.

[Pure]
public static SequentialDictionary<TKey, TValue> ToSequentialDictionary<TSource, TKey, TValue>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TValue> valueSelector, IEqualityComparer<TKey> comparer) where TKey : notnull

Parameters

source IEnumerable<TSource>

Source collection.

keySelector Func<TSource, TKey>

Key selector.

valueSelector Func<TSource, TValue>

Value selector.

comparer IEqualityComparer<TKey>

Key equality comparer.

Returns

SequentialDictionary<TKey, TValue>

New SequentialDictionary<TKey, TValue> instance.

Type Parameters

TSource

Source element type.

TKey

Key type.

TValue

Value type.

Exceptions

ArgumentException

When at least one key is not unique.

ToSequentialHashSet<T>(IEnumerable<T>)

Creates a new SequentialHashSet<T> instance from the provided collection with Default comparer.

[Pure]
public static SequentialHashSet<T> ToSequentialHashSet<T>(this IEnumerable<T> source) where T : notnull

Parameters

source IEnumerable<T>

Source collection.

Returns

SequentialHashSet<T>

New SequentialHashSet<T> instance.

Type Parameters

T

Element type.

ToSequentialHashSet<T>(IEnumerable<T>, IEqualityComparer<T>)

Creates a new SequentialHashSet<T> instance from the provided collection.

[Pure]
public static SequentialHashSet<T> ToSequentialHashSet<T>(this IEnumerable<T> source, IEqualityComparer<T> comparer) where T : notnull

Parameters

source IEnumerable<T>

Source collection.

comparer IEqualityComparer<T>

Element equality comparer.

Returns

SequentialHashSet<T>

New SequentialHashSet<T> instance.

Type Parameters

T

Element type.