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.