Search Results for

    Show / Hide Table of Contents
    View Source

    Class DictionaryExtensions

    Inheritance
    System.Object
    Namespace: Umbraco.Extensions
    Assembly: Umbraco.Core.dll
    Syntax
    public static class DictionaryExtensions

    Methods

    View Source

    ContainsKeyIgnoreCase<TValue>(IDictionary<String, TValue>, String)

    contains key ignore case.

    Declaration
    public static bool ContainsKeyIgnoreCase<TValue>(this IDictionary<string, TValue> dictionary, string key)
    Parameters
    Type Name Description
    System.Collections.IDictionary<System.String, TValue> dictionary

    The dictionary.

    System.String key

    The key.

    Returns
    Type Description
    System.Boolean

    The contains key ignore case.

    Type Parameters
    Name Description
    TValue

    Value Type

    View Source

    ConvertTo<TKeyOut, TValOut>(IDictionary)

    Converts a dictionary to another type by only using direct casting

    Declaration
    public static IDictionary<TKeyOut, TValOut> ConvertTo<TKeyOut, TValOut>(this IDictionary d)
    Parameters
    Type Name Description
    System.Collections.IDictionary d
    Returns
    Type Description
    System.Collections.IDictionary<TKeyOut, TValOut>
    Type Parameters
    Name Description
    TKeyOut
    TValOut
    View Source

    ConvertTo<TKeyOut, TValOut>(IDictionary, Func<Object, TKeyOut>, Func<Object, TValOut>)

    Converts a dictionary to another type using the specified converters

    Declaration
    public static IDictionary<TKeyOut, TValOut> ConvertTo<TKeyOut, TValOut>(this IDictionary d, Func<object, TKeyOut> keyConverter, Func<object, TValOut> valConverter)
    Parameters
    Type Name Description
    System.Collections.IDictionary d
    Func<System.Object, TKeyOut> keyConverter
    Func<System.Object, TValOut> valConverter
    Returns
    Type Description
    System.Collections.IDictionary<TKeyOut, TValOut>
    Type Parameters
    Name Description
    TKeyOut
    TValOut
    View Source

    GetOrCreate<TKey, TVal>(IDictionary<TKey, TVal>, TKey)

    Method to Get a value by the key. If the key doesn't exist it will create a new TVal object for the key and return it.

    Declaration
    public static TVal GetOrCreate<TKey, TVal>(this IDictionary<TKey, TVal> dict, TKey key)
        where TVal : class, new()
    Parameters
    Type Name Description
    System.Collections.IDictionary<TKey, TVal> dict
    TKey key
    Returns
    Type Description
    TVal
    Type Parameters
    Name Description
    TKey
    TVal
    View Source

    GetValue<TKey, TVal>(IDictionary<TKey, TVal>, TKey, TVal)

    Returns the value of the key value based on the key, if the key is not found, a null value is returned

    Declaration
    public static TVal GetValue<TKey, TVal>(this IDictionary<TKey, TVal> d, TKey key, TVal defaultValue = null)
    Parameters
    Type Name Description
    System.Collections.IDictionary<TKey, TVal> d

    The d.

    TKey key

    The key.

    TVal defaultValue

    The default value.

    Returns
    Type Description
    TVal
    Type Parameters
    Name Description
    TKey

    The type of the key.

    TVal

    The type of the val.

    View Source

    GetValueAsString<TKey, TVal>(IDictionary<TKey, TVal>, TKey)

    Returns the value of the key value based on the key as it's string value, if the key is not found, then an empty string is returned

    Declaration
    public static string GetValueAsString<TKey, TVal>(this IDictionary<TKey, TVal> d, TKey key)
    Parameters
    Type Name Description
    System.Collections.IDictionary<TKey, TVal> d
    TKey key
    Returns
    Type Description
    System.String
    Type Parameters
    Name Description
    TKey
    TVal
    View Source

    GetValueAsString<TKey, TVal>(IDictionary<TKey, TVal>, TKey, String)

    Returns the value of the key value based on the key as it's string value, if the key is not found or is an empty string, then the provided default value is returned

    Declaration
    public static string GetValueAsString<TKey, TVal>(this IDictionary<TKey, TVal> d, TKey key, string defaultValue)
    Parameters
    Type Name Description
    System.Collections.IDictionary<TKey, TVal> d
    TKey key
    System.String defaultValue
    Returns
    Type Description
    System.String
    Type Parameters
    Name Description
    TKey
    TVal
    View Source

    GetValueIgnoreCase<TValue>(IDictionary<String, TValue>, String)

    The get entry ignore case.

    Declaration
    public static TValue GetValueIgnoreCase<TValue>(this IDictionary<string, TValue> dictionary, string key)
    Parameters
    Type Name Description
    System.Collections.IDictionary<System.String, TValue> dictionary

    The dictionary.

    System.String key

    The key.

    Returns
    Type Description
    TValue

    The entry

    Type Parameters
    Name Description
    TValue

    The type

    View Source

    GetValueIgnoreCase<TValue>(IDictionary<String, TValue>, String, TValue)

    The get entry ignore case.

    Declaration
    public static TValue GetValueIgnoreCase<TValue>(this IDictionary<string, TValue> dictionary, string key, TValue defaultValue)
    Parameters
    Type Name Description
    System.Collections.IDictionary<System.String, TValue> dictionary

    The dictionary.

    System.String key

    The key.

    TValue defaultValue

    The default value.

    Returns
    Type Description
    TValue

    The entry

    Type Parameters
    Name Description
    TValue

    The type

    View Source

    MergeLeft<T, TK, TV>(T, IDictionary<TK, TV>, Boolean)

    Merges all key/values from the sources dictionaries into the destination dictionary

    Declaration
    public static void MergeLeft<T, TK, TV>(this T destination, IDictionary<TK, TV> source, bool overwrite = false)
        where T : IDictionary<TK, TV>
    Parameters
    Type Name Description
    T destination

    The source dictionary to merge other dictionaries into

    System.Collections.IDictionary<TK, TV> source

    The other dictionary to merge values from

    System.Boolean overwrite

    By default all values will be retained in the destination if the same keys exist in the sources but this can changed if overwrite = true, then any key/value found in any of the sources will overwritten in the destination. Note that it will just use the last found key/value if this is true.

    Type Parameters
    Name Description
    T
    TK
    TV
    View Source

    MergeLeft<T, TK, TV>(T, IEnumerable<IDictionary<TK, TV>>, Boolean)

    Merges all key/values from the sources dictionaries into the destination dictionary

    Declaration
    public static void MergeLeft<T, TK, TV>(this T destination, IEnumerable<IDictionary<TK, TV>> sources, bool overwrite = false)
        where T : IDictionary<TK, TV>
    Parameters
    Type Name Description
    T destination

    The source dictionary to merge other dictionaries into

    System.Collections.IEnumerable<System.Collections.IDictionary<TK, TV>> sources

    The other dictionaries to merge values from

    System.Boolean overwrite

    By default all values will be retained in the destination if the same keys exist in the sources but this can changed if overwrite = true, then any key/value found in any of the sources will overwritten in the destination. Note that it will just use the last found key/value if this is true.

    Type Parameters
    Name Description
    T
    TK
    TV
    View Source

    ToDictionaryAsync<TInput, TKey, TValue>(IEnumerable<TInput>, Func<TInput, TKey>, Func<TInput, Task<TValue>>)

    Declaration
    public static async Task<Dictionary<TKey, TValue>> ToDictionaryAsync<TInput, TKey, TValue>(this IEnumerable<TInput> enumerable, Func<TInput, TKey> syncKeySelector, Func<TInput, Task<TValue>> asyncValueSelector)
    Parameters
    Type Name Description
    System.Collections.IEnumerable<TInput> enumerable
    Func<TInput, TKey> syncKeySelector
    Func<TInput, Task<TValue>> asyncValueSelector
    Returns
    Type Description
    Task<Dictionary<TKey, TValue>>
    Type Parameters
    Name Description
    TInput
    TKey
    TValue
    View Source

    ToNameValueCollection(IDictionary<String, String>)

    Converts a dictionary to a NameValueCollection

    Declaration
    public static NameValueCollection ToNameValueCollection(this IDictionary<string, string> d)
    Parameters
    Type Name Description
    System.Collections.IDictionary<System.String, System.String> d
    Returns
    Type Description
    System.Collections.Specialized.NameValueCollection
    View Source

    ToQueryString(IDictionary<String, Object>)

    Declaration
    public static string ToQueryString(this IDictionary<string, object> d)
    Parameters
    Type Name Description
    System.Collections.IDictionary<System.String, System.Object> d
    Returns
    Type Description
    System.String
    View Source

    TryUpdate<TKey, TValue>(ConcurrentDictionary<TKey, TValue>, TKey, Func<TValue, TValue>)

    Updates an item with the specified key with the specified value

    Declaration
    public static bool TryUpdate<TKey, TValue>(this ConcurrentDictionary<TKey, TValue> dict, TKey key, Func<TValue, TValue> updateFactory)
    Parameters
    Type Name Description
    System.Collections.Concurrent.ConcurrentDictionary<TKey, TValue> dict
    TKey key
    Func<TValue, TValue> updateFactory
    Returns
    Type Description
    System.Boolean
    Type Parameters
    Name Description
    TKey
    TValue
    Remarks

    Taken from: http://stackoverflow.com/questions/12240219/is-there-a-way-to-use-concurrentdictionary-tryupdate-with-a-lambda-expression If there is an item in the dictionary with the key, it will keep trying to update it until it can

    View Source

    TryUpdateOptimisitic<TKey, TValue>(ConcurrentDictionary<TKey, TValue>, TKey, Func<TValue, TValue>)

    Updates an item with the specified key with the specified value

    Declaration
    public static bool TryUpdateOptimisitic<TKey, TValue>(this ConcurrentDictionary<TKey, TValue> dict, TKey key, Func<TValue, TValue> updateFactory)
    Parameters
    Type Name Description
    System.Collections.Concurrent.ConcurrentDictionary<TKey, TValue> dict
    TKey key
    Func<TValue, TValue> updateFactory
    Returns
    Type Description
    System.Boolean
    Type Parameters
    Name Description
    TKey
    TValue
    Remarks

    Taken from: http://stackoverflow.com/questions/12240219/is-there-a-way-to-use-concurrentdictionary-tryupdate-with-a-lambda-expression WARNING: If the value changes after we've retrieved it, then the item will not be updated

    • Improve this Doc
    • View Source
    In This Article
    • Methods
      • ContainsKeyIgnoreCase<TValue>(IDictionary<String, TValue>, String)
      • ConvertTo<TKeyOut, TValOut>(IDictionary)
      • ConvertTo<TKeyOut, TValOut>(IDictionary, Func<Object, TKeyOut>, Func<Object, TValOut>)
      • GetOrCreate<TKey, TVal>(IDictionary<TKey, TVal>, TKey)
      • GetValue<TKey, TVal>(IDictionary<TKey, TVal>, TKey, TVal)
      • GetValueAsString<TKey, TVal>(IDictionary<TKey, TVal>, TKey)
      • GetValueAsString<TKey, TVal>(IDictionary<TKey, TVal>, TKey, String)
      • GetValueIgnoreCase<TValue>(IDictionary<String, TValue>, String)
      • GetValueIgnoreCase<TValue>(IDictionary<String, TValue>, String, TValue)
      • MergeLeft<T, TK, TV>(T, IDictionary<TK, TV>, Boolean)
      • MergeLeft<T, TK, TV>(T, IEnumerable<IDictionary<TK, TV>>, Boolean)
      • ToDictionaryAsync<TInput, TKey, TValue>(IEnumerable<TInput>, Func<TInput, TKey>, Func<TInput, Task<TValue>>)
      • ToNameValueCollection(IDictionary<String, String>)
      • ToQueryString(IDictionary<String, Object>)
      • TryUpdate<TKey, TValue>(ConcurrentDictionary<TKey, TValue>, TKey, Func<TValue, TValue>)
      • TryUpdateOptimisitic<TKey, TValue>(ConcurrentDictionary<TKey, TValue>, TKey, Func<TValue, TValue>)
    Back to top Copyright © 2016-present Umbraco
    Generated by DocFX