我正在寻找一种基于密钥对NameValueCollection进行排序的简单方法 - 但它不应该是性能很重要.
从SortedDictionary
或开始,SortedList
你已经在那里......
如果您需要每个键的多个项目,那么请考虑一个SortedDictionary
.有一些方法可以使用扩展方法简化添加等 - 它不一定非常可怕.
另请注意,这NameValueCollection
不区分大小写,因此您可能需要使用其中一个不敏感的比较 - 例如:
Dictionarydata = new Dictionary ( StringComparer.InvariantCultureIgnoreCase);
(编辑)这是一个使用扩展方法在C#3.0中针对单个键填充多个值的示例:
static void Main() { var data = new Dictionary>( StringComparer.InvariantCultureIgnoreCase); data.Add("abc", "def"); data.Add("abc", "ghi"); } static void Add (this IDictionary > lookup, TKey key, TValue value) { List list; if (!lookup.TryGetValue(key, out list)) { list = new List (); lookup.Add(key, list); } list.Add(value); }