Class CollectionsExtensions
Collections extension functions
Inherited Members
Namespace: XData.Extensions
Assembly: XData.docfx.dll
Syntax
public static class CollectionsExtensions
Methods
| Improve this Doc View SourceAsEnum<T>(T)
Returns single item enumerable
Declaration
public static IEnumerable<T> AsEnum<T>(this T item)
Parameters
Type | Name | Description |
---|---|---|
T | item | Item |
Returns
Type | Description |
---|---|
IEnumerable<T> | Single item enumerable |
Type Parameters
Name | Description |
---|---|
T | Item type |
Clear<T>(List<T>, Action<T>)
Clear list content with action call on every element
Declaration
public static void Clear<T>(this List<T> list, Action<T> action)
Parameters
Type | Name | Description |
---|---|---|
List<T> | list | List |
Action<T> | action | Action |
Type Parameters
Name | Description |
---|---|
T | List element type |
GetOrAdd<T>(IList<T>, Func<T, Boolean>, Func<T>)
Returns first found element by predicate or add selector result and return it
Declaration
public static T GetOrAdd<T>(this IList<T> list, Func<T, bool> predicate, Func<T> selector)
Parameters
Type | Name | Description |
---|---|---|
IList<T> | list | List |
Func<T, Boolean> | predicate | Find element predicate |
Func<T> | selector | Create element logic |
Returns
Type | Description |
---|---|
T | Found or crested element |
Type Parameters
Name | Description |
---|---|
T | Element type |
Exceptions
Type | Condition |
---|---|
XDataRuntimeException | Argument is null |
HasSameValuesAs(ICollection<TaggedValue>, ICollection<TaggedValue>)
Dictionary comparison test
Declaration
public static bool HasSameValuesAs(this ICollection<TaggedValue> source, ICollection<TaggedValue> other)
Parameters
Type | Name | Description |
---|---|---|
ICollection<TaggedValue> | source | Source dictionary |
ICollection<TaggedValue> | other | Matched dictionary |
Returns
Type | Description |
---|---|
Boolean |
HasSameValuesAs<TKey, TValue>(ICollection<KeyValuePair<TKey, TValue>>, ICollection<KeyValuePair<TKey, TValue>>)
Dictionary comparison test
Declaration
public static bool HasSameValuesAs<TKey, TValue>(this ICollection<KeyValuePair<TKey, TValue>> source, ICollection<KeyValuePair<TKey, TValue>> other)
where TValue : IComparable
Parameters
Type | Name | Description |
---|---|---|
ICollection<KeyValuePair<TKey, TValue>> | source | Source dictionary |
ICollection<KeyValuePair<TKey, TValue>> | other | Matched dictionary |
Returns
Type | Description |
---|---|
Boolean |
Type Parameters
Name | Description |
---|---|
TKey | Type of dictionary key |
TValue | Type of dictionary value |
HasSameValuesAs<TKey, TValue>(IDictionary<TKey, TValue>, IDictionary<TKey, TValue>)
Dictionary comparison test
Declaration
public static bool HasSameValuesAs<TKey, TValue>(this IDictionary<TKey, TValue> source, IDictionary<TKey, TValue> other)
where TValue : IEquatable<TValue>
Parameters
Type | Name | Description |
---|---|---|
IDictionary<TKey, TValue> | source | Source dictionary |
IDictionary<TKey, TValue> | other | Matched dictionary |
Returns
Type | Description |
---|---|
Boolean |
Type Parameters
Name | Description |
---|---|
TKey | Type of dictionary key |
TValue | Type of dictionary value |
IsEmpty(ICollection<IComparable>)
IComparable array IsEmpty helper
Declaration
public static bool IsEmpty(this ICollection<IComparable> fields)
Parameters
Type | Name | Description |
---|---|---|
ICollection<IComparable> | fields | Array of values |
Returns
Type | Description |
---|---|
Boolean | Any of fields is null or DBNull |
RemoveAll<TKey, TValue>(ConcurrentDictionary<TKey, TValue>, Func<TKey, Boolean>)
Remove all elements matched predicate
Declaration
public static void RemoveAll<TKey, TValue>(this ConcurrentDictionary<TKey, TValue> collection, Func<TKey, bool> predicate)
Parameters
Type | Name | Description |
---|---|---|
ConcurrentDictionary<TKey, TValue> | collection | Concurrent dictionary |
Func<TKey, Boolean> | predicate | Filtering predicate |
Type Parameters
Name | Description |
---|---|
TKey | Key type |
TValue | Value type |
SetValue<TKey, T>(TKey, T)
Named value pair builder
Declaration
public static KeyValuePair<TKey, T> SetValue<TKey, T>(this TKey name, T value)
Parameters
Type | Name | Description |
---|---|---|
TKey | name | Name |
T | value | Value |
Returns
Type | Description |
---|---|
KeyValuePair<TKey, T> | Named value pair |
Type Parameters
Name | Description |
---|---|
TKey | Key type |
T | Value type |
ToDictionary<TKey, TValue>(IEnumerable<KeyValuePair<TKey, TValue>>)
ToDictionary helper
Declaration
public static Dictionary<TKey, TValue> ToDictionary<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> pairs)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<KeyValuePair<TKey, TValue>> | pairs | KeyValuePair collection |
Returns
Type | Description |
---|---|
Dictionary<TKey, TValue> | Typed Dictionary |
Type Parameters
Name | Description |
---|---|
TKey | Dictionary key type |
TValue | Dictionary value type |
ToDictionary<TKey, TValue>(IEnumerable<IGrouping<TKey, TValue>>)
ToDictionary groupings helper
Declaration
public static Dictionary<TKey, List<TValue>> ToDictionary<TKey, TValue>(this IEnumerable<IGrouping<TKey, TValue>> groupings)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<IGrouping<TKey, TValue>> | groupings | Groupings |
Returns
Type | Description |
---|---|
Dictionary<TKey, List<TValue>> | Typed Dictionary |
Type Parameters
Name | Description |
---|---|
TKey | Dictionary key type |
TValue | Dictionary value type |
ToSortedList<TKey, TValue>(IEnumerable<KeyValuePair<TKey, TValue>>)
ToSortedList helper
Declaration
public static SortedList<TKey, TValue> ToSortedList<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> pairs)
where TKey : IComparable
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<KeyValuePair<TKey, TValue>> | pairs | KeyValuePair collection |
Returns
Type | Description |
---|---|
SortedList<TKey, TValue> | Typed SortedList |
Type Parameters
Name | Description |
---|---|
TKey | Dictionary key type |
TValue | Dictionary value type |
ToSortedList<TKey, TValue>(IEnumerable<IGrouping<TKey, TValue>>)
ToSortedList groupings helper
Declaration
public static SortedList<TKey, List<TValue>> ToSortedList<TKey, TValue>(this IEnumerable<IGrouping<TKey, TValue>> groupings)
where TKey : IComparable
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<IGrouping<TKey, TValue>> | groupings | Groupings |
Returns
Type | Description |
---|---|
SortedList<TKey, List<TValue>> | Typed SortedList |
Type Parameters
Name | Description |
---|---|
TKey | SortedList key type |
TValue | SortedList value type |
ToSortedSet<T>(IEnumerable<T>, IComparer<T>)
ToSortedSet helper
Declaration
public static SortedSet<T> ToSortedSet<T>(this IEnumerable<T> source, IComparer<T> comparer = null)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<T> | source | Source sequence |
IComparer<T> | comparer | Source type comparer |
Returns
Type | Description |
---|---|
SortedSet<T> | Typed SortedSet |
Type Parameters
Name | Description |
---|---|
T | SortedSet type |
Remarks
If comparer is not set GetInstance() used
WARNING! To use Indexer<T> one of IComparable<T> properties of source type mast be marked by IndexAttribute
TryGetValue<TKey, TValue>(IEnumerable<KeyValuePair<TKey, TValue>>, TKey)
Try get value helper
Declaration
public static object TryGetValue<TKey, TValue>(this IEnumerable<KeyValuePair<TKey, TValue>> source, TKey key)
where TKey : IEquatable<TKey>
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<KeyValuePair<TKey, TValue>> | source | Sequence of key value pairs |
TKey | key | Key value |
Returns
Type | Description |
---|---|
Object |
Type Parameters
Name | Description |
---|---|
TKey | Key type |
TValue | Value type |