最近,我发现索引器可以接受一个参数数组params
:
public class SuperDictionary<TKey, TValue>
{
public Dictionary<TKey, TValue> Dict { get; } = new Dictionary<TKey, TValue>();
public IEnumerable<TValue> this[params TKey[] keys]
{
get { return keys.Select(key => Dict[key]); }
}
}
然后,您将能够:
var sd = new SuperDictionary<string, object>();
/* Add values */
var res = sd["a", "b"];
但是,我从未在 .NET Framework 或任何第三方库中遇到过这种用法。为什么已经实施了?能够引入params
indexer的实际用途是什么?