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
sourceIReadOnlyMultiDictionary<TKey, TValue>Source multi dictionary.
Returns
- IEnumerable<KeyValuePair<TKey, IReadOnlyList<TValue>>>
Provided
source.
Type Parameters
TKeyKey type.
TValueValue 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
sourceIEnumerable<KeyValuePair<TKey, TValue>>Source collection.
Returns
- MultiDictionary<TKey, TValue>
New MultiDictionary<TKey, TValue> instance.
Type Parameters
TKeyKey type.
TValueValue 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
sourceIEnumerable<KeyValuePair<TKey, TValue>>Source collection.
comparerIEqualityComparer<TKey>Key equality comparer.
Returns
- MultiDictionary<TKey, TValue>
New MultiDictionary<TKey, TValue> instance.
Type Parameters
TKeyKey type.
TValueValue 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
sourceIEnumerable<IGrouping<TKey, TValue>>Source collection.
Returns
- MultiDictionary<TKey, TValue>
New MultiDictionary<TKey, TValue> instance.
Type Parameters
TKeyKey type.
TValueValue 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
sourceIEnumerable<IGrouping<TKey, TValue>>Source collection.
comparerIEqualityComparer<TKey>Key equality comparer.
Returns
- MultiDictionary<TKey, TValue>
New MultiDictionary<TKey, TValue> instance.
Type Parameters
TKeyKey type.
TValueValue 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
sourceIEnumerable<TValue>Source collection.
keySelectorFunc<TValue, TKey>Key selector.
Returns
- MultiDictionary<TKey, TValue>
New MultiDictionary<TKey, TValue> instance.
Type Parameters
TKeyKey type.
TValueValue 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
sourceIEnumerable<TValue>Source collection.
keySelectorFunc<TValue, TKey>Key selector.
comparerIEqualityComparer<TKey>Key equality comparer.
Returns
- MultiDictionary<TKey, TValue>
New MultiDictionary<TKey, TValue> instance.
Type Parameters
TKeyKey type.
TValueValue 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
sourceIEnumerable<TSource>Source collection.
keySelectorFunc<TSource, TKey>Key selector.
valueSelectorFunc<TSource, TValue>Value selector.
Returns
- MultiDictionary<TKey, TValue>
New MultiDictionary<TKey, TValue> instance.
Type Parameters
TSourceSource element type.
TKeyKey type.
TValueValue 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
sourceIEnumerable<TSource>Source collection.
keySelectorFunc<TSource, TKey>Key selector.
valueSelectorFunc<TSource, TValue>Value selector.
comparerIEqualityComparer<TKey>Key equality comparer.
Returns
- MultiDictionary<TKey, TValue>
New MultiDictionary<TKey, TValue> instance.
Type Parameters
TSourceSource element type.
TKeyKey type.
TValueValue 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
sourceIEnumerable<T>Source collection.
Returns
- MultiHashSet<T>
New MultiHashSet<T> instance.
Type Parameters
TElement 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
sourceIEnumerable<T>Source collection.
comparerIEqualityComparer<T>Element equality comparer.
Returns
- MultiHashSet<T>
New MultiHashSet<T> instance.
Type Parameters
TElement 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
sourceIEnumerable<TSource>Source collection.
keySelectorFunc<TSource, TKey>Key selector.
Returns
- SequentialDictionary<TKey, TSource>
New SequentialDictionary<TKey, TValue> instance.
Type Parameters
TSourceSource element type.
TKeyKey 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
sourceIEnumerable<TSource>Source collection.
keySelectorFunc<TSource, TKey>Key selector.
comparerIEqualityComparer<TKey>Key equality comparer.
Returns
- SequentialDictionary<TKey, TSource>
New SequentialDictionary<TKey, TValue> instance.
Type Parameters
TSourceSource element type.
TKeyKey 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
sourceIEnumerable<TSource>Source collection.
keySelectorFunc<TSource, TKey>Key selector.
valueSelectorFunc<TSource, TValue>Value selector.
Returns
- SequentialDictionary<TKey, TValue>
New SequentialDictionary<TKey, TValue> instance.
Type Parameters
TSourceSource element type.
TKeyKey type.
TValueValue 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
sourceIEnumerable<TSource>Source collection.
keySelectorFunc<TSource, TKey>Key selector.
valueSelectorFunc<TSource, TValue>Value selector.
comparerIEqualityComparer<TKey>Key equality comparer.
Returns
- SequentialDictionary<TKey, TValue>
New SequentialDictionary<TKey, TValue> instance.
Type Parameters
TSourceSource element type.
TKeyKey type.
TValueValue 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
sourceIEnumerable<T>Source collection.
Returns
- SequentialHashSet<T>
New SequentialHashSet<T> instance.
Type Parameters
TElement 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
sourceIEnumerable<T>Source collection.
comparerIEqualityComparer<T>Element equality comparer.
Returns
- SequentialHashSet<T>
New SequentialHashSet<T> instance.
Type Parameters
TElement type.