如何使用C#中的键对NameValueCollection进行排序?

Ujw*_*ire 5 c# sorting collections

我写了下面的代码,它也有效 - 但我想知道它们是否比这更好:

 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;
            }
Run Code Online (Sandbox Code Playgroud)

Guf*_*ffa 3

也许您可以使用另一种支持直接排序的列表?

List<KeyValuePair<string, string>> optionInfoList = ...;
if (sorting) {
   optionInfoList.Sort((x,y) => String.Compare(x.Key, y.Key));
}
return optionInfoList;
Run Code Online (Sandbox Code Playgroud)