相关疑难解决方法(0)

没有OrderedDictionary的通用实现?

在.NET 3.5中似乎没有OrderedDictionary(在System.Collections.Specialized命名空间中)的通用实现.有没有我错过的?

我发现那里的实现提供了功能,但想知道是否/为什么没有开箱即用的通用实现,如果有人知道它是否是.NET 4.0中的东西?

.net c# generics ordereddictionary .net-4.0

131
推荐指数
10
解决办法
4万
查看次数

哪个.NET集合更快:枚举foreach Dictionary <>.值或List <>?

这些枚举中的一个比另一个或大约相同吗?(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)

.net c# performance enumeration

5
推荐指数
3
解决办法
2万
查看次数