我写过以下代码并且它也有效 - 但我想知道它们是否比这更好:
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;
}
答案 0 :(得分:4)
改为使用SortedDictionary。
答案 1 :(得分:3)
也许你可以使用另一种支持直接排序的列表?
List<KeyValuePair<string, string>> optionInfoList = ...;
if (sorting) {
optionInfoList.Sort((x,y) => String.Compare(x.Key, y.Key));
}
return optionInfoList;
答案 2 :(得分:1)
如果你有使用NameValueCollection
并且你在集合中没有很多项目,那就没关系了。如果能完成工作,就不需要任何比这更好的了。
如果这是性能瓶颈,那么请重新访问。