如何使用C#中的键对NameValueCollection进行排序?
我写了下面的代码并且它也有效 – 但我想知道它们是否比这更好:
NameValueCollection optionInfoList = ..... ; if (aSorting) { optionInfoListSorted = new nameValueCollection(); String[] sortedKeys = optionInfoList.AllKeys; Array.Sort(sortedKeys); foreach (String key in sortedKeys) optionInfoListSorted.Add(key, optionInfoList[key]); return optionInfoListSorted; }
请改用SortedDictionary 。
也许您可以使用不同类型的列表,它支持直接排序?
List> optionInfoList = ...; if (sorting) { optionInfoList.Sort((x,y) => String.Compare(x.Key, y.Key)); } return optionInfoList;
如果你必须使用NameValueCollection
并且集合中没有很多项目,那就没关系。 如果它完成了工作,就不需要得到任何比这更好的了。
如果这是性能瓶颈,那么重新访问。