在.NET 3.5中似乎没有OrderedDictionary(在System.Collections.Specialized命名空间中)的通用实现.有没有我错过的?
我发现那里的实现提供了功能,但想知道是否/为什么没有开箱即用的通用实现,如果有人知道它是否是.NET 4.0中的东西?
这些枚举中的一个比另一个或大约相同吗?(C#中的例子)
情况1:
Dictionary<string, object> valuesDict;
// valuesDict loaded with thousands of objects
foreach (object value in valuesDict.Values) { /* process */ }
Run Code Online (Sandbox Code Playgroud)
案例2:
List<object> valuesList;
// valuesList loaded with thousands of objects
foreach (object value in valuesList) { /* process */ }
Run Code Online (Sandbox Code Playgroud)
更新:
背景:
字典对于其他地方的键控搜索是有益的(而不是遍历列表),但是如果遍历字典比通过列表慢得多,那么好处将会减少.
更新:接受许多人的建议,我已经完成了自己的测试.
首先,这些是结果.以下是该计划.
迭代整个收集词典:78 Keyd:131列表:76
键控搜索集合Dict:178 Keyd:194列表:142800
using System;
using System.Linq;
namespace IterateCollections
{
public class Data
{
public string Id;
public string Text;
}
public class KeyedData : System.Collections.ObjectModel.KeyedCollection<string, Data>
{
protected override string GetKeyForItem(Data …Run Code Online (Sandbox Code Playgroud)