Я создаю метод расширения для MultiValueDictionary для инкапсуляции частых проверок ContainsKey
, и мне было интересно, что было лучшим способом создать пустой IReadOnlyCollection
?.
То, что я использовал до сих пор, это new List<TValue>(0).AsReadOnly()
, но должен быть лучший способ, эквивалент IEnumerable
Enumerable.Empty
public static IReadOnlyCollection<TValue> GetValuesOrEmpty<TKey, TValue>(this MultiValueDictionary<TKey, TValue> multiValueDictionary, TKey key)
{
IReadOnlyCollection<TValue> values;
return !multiValueDictionary.TryGetValue(key, out values) ? new List<TValue>(0).AsReadOnly() : values;
}