我正在为MultiValueDictionary创建一个扩展方法来封装频繁ContainsKey
检查,我想知道创建空的最佳方法是什么IReadOnlyCollection
?
到目前为止我使用的是new List<TValue>(0).AsReadOnly()
,但必须有更好的方法,相当于IEnumerable
'sEnumerable.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;
}