.Net 是否提供 NameValueCollection 的通用形式或替代形式
Dictionary<string,List<T>>
?
有点像
Person john = new Person();
...
Person vick = new Person();
...
NameValueCollection<Person> stringToPerson = new NameValueCollection<Person>();
stringToPerson.Add("John",john)
stringToPerson.Add("Vick",vick)
实际上在我的情况下我被迫依赖Dictionary<string,List<Peron>>
,还有其他选择吗?
问候, 天啊
最佳答案
据我所知,BCL 中没有这样的东西。我只想编写你自己的类来包装 Dictionary<string, List<T>>
在内部公开适当的方法(例如,Add
可以为给定的键向 List<T>
添加一个元素)。
例如:
class NameValueCollection<T>
{
Dictionary<string, List<T>> _dict = new Dictionary<string, List<T>>();
public void Add(string name, T value)
{
List<T> list;
if (!_dict.TryGetValue(name, out list))
{
_dict[name] = list = new List<T>();
}
list.Add(value);
}
// etc.
}
关于c# - .Net 中 NameValueCollection 的通用形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5209474/