【发布时间】:2013-05-17 12:37:12
【问题描述】:
我的数据源可能有重复的键和值。
typeA : 1
typeB : 2
typeA : 11
我选择使用NameValueCollection,因为它可以输入重复的键。
我想从集合中删除特定的键\值对,但NameValueCollection.Remove(key) 删除了与指定键关联的所有值。
- 有没有办法从
NameValueCollection中删除单个键\值对, 或 - C# 中是否有更适合我的数据的集合
[编辑 1]
首先,感谢所有答案:)
我想我应该提到我的数据源是 XML。
我使用System.Xml.Linq.XDocument 来查询类型,并且删除特定值也很方便。
现在,我的问题是,对于大型数据,考虑到性能,使用 XDocument 是一个不错的选择吗? 如果不是,还有其他选择(可能回到 NameValueCollection 并使用提到的其中一种技术来删除数据)
【问题讨论】:
-
不,我认为它不适用于元素索引,可能您需要尝试其他方式
-
试试
List<Tuple<T1,T2>> -
确实没有办法做到这一点。如果您必须这样做,只需遍历整个内容,创建一个全新的 NameValueCollection。 NameValueCollection 非常强大,但是,就像所有特定的集合一样,它是为完成特定的工作而构建的,有些事情根本无法用它来完成。