60
задан 12 July 2011 в 13:15

1 ответ

Я знаю, что это - старый поток, но в случае, если полезно, что предшествующие ответы являются большими, но комментарии сложности и проблемы замусоривания кода (все допустимые для меня также) могут быть обращены.

я использую пользовательский дополнительный метод для оборачивания сложности вышеупомянутых ответов в более изящной форме так, чтобы она не была замусорена всюду по коду, и она затем включает большую поддержку пустого указателя, объединяют оператор... также максимизируя производительность (с помощью вышеупомянутых ответов).

namespace System.Collections.Generic.CustomExtensions
{
    public static class DictionaryCustomExtensions
    {
        public static TValue GetValueSafely<TKey, TValue>(this IDictionary<TKey, TValue> dictionary, TKey key)
        {
            TValue value = default(TValue);
            dictionary.TryGetValue(key, out value);
            return value;
        }
    }
}

Затем можно использовать его просто путем импорта Системы пространства имен . Наборы. Универсальный. CustomExtensions

string value = dictionary.GetValueSafely(key) ?? "default";
4
ответ дан 31 October 2019 в 16:47

Другие вопросы по тегам:

Похожие вопросы: