Tag: 词典

C#Dictionary Loop Enhancment

我有一本约有一百万件物品的字典。 我不断循环抛出词典: public void DoAllJobs() { foreach (KeyValuePair p in _dictionnary) { if(p.Value.MustDoJob) p.Value.DoJob(); } } 执行有点长,大约600毫秒,我想要deacrese它。 这是约束: MustDoJob值大多数在两次调用DoAllJobs()之间保持不变 MustDoJob值的60-70%== false MustDoJob有时会改变20万对。 某些p.Value.DoJob()无法同时计算(COM对象调用) 在这里,我不需要_dictionnary对象的关键部分,但我确实需要它在其他地方 我想做以下事情: 并行化,但由于4,我不确定是否会有效。 从1和2开始对字典进行排序(并且停止想要找到第一个MustDoJob == false)但是我想知道3.会导致什么 我没有实现任何先前的想法,因为它可能是很多工作,我想先调查其他选项。 所以…任何想法?

(有时)字典中没有给定的键

我使用下面的代码启动带有list参数的线程,但有时它会引发exception: 给定的密​​钥不在字典中 从这一行: Thread MoveThread = new Thread(() => MoveTask(ControllerDictionary[i])); 我该如何解决这个错误? 完整代码: var ControllerDictionary = ConfigFile.ControllerList.Select((c, i) => new { Controller = c, Index = i }) .GroupBy(x => x.Index % AppSettings.SimultaneousProcessNumber) .Select((g, i) => new { GroupIndex = i, Group = g }) .ToDictionary(x => x.GroupIndex, x => x.Group.Select(xx => xx.Controller).ToList()); for (int i […]

Dictionary.ContainsKey行为不端c#

我有一个class级Column public class Column { public int Id { get; private set; } public string Name { get; private set; } public EPersonalCharacteristicType Type { get; private set; } public Column MainColumn { get; private set; } } 而且我在另一个class级中有以下字段 Dictionary dictionary 在执行过程中,我得到了这本dictionary的奇怪行为。 当我输入 dictionary.ContainsKey(dictionary.Keys.ToList()[1]) 我弄错了。 地球上怎么样? 更新 我的Column类有GetHashCode或Equals Functions。 以下是它们的实现: public bool Equals(Column other) { […]

字典的匿名集合初始值设定项

是否可以隐式声明下一个Dictionary : { urlA, new { Text = “TextA”, Url = “UrlA” } }, { urlB, new { Text = “TextB”, Url = “UrlB” } } 所以我可以这样使用它: foreach (var k in dic) { k.Key.Text = k.Value.Text; k.Key.NavigateUrl = k.Value.Url; } ?

Dictionary.Keys返回的KeyCollection上的操作有多快? (。净)

IDictionary定义方法IDictionary.ContainsKey(in TK)和属性IDictionary.Keys (在ICollection类型中)。 我对IDictionary Dictionary实现中此方法和属性的(渐近)复杂性感兴趣。 考虑定义 IDictionary dict = new Dictionary(); int k = new Random().Next(); 并且考虑到我们已经在字典中添加了唯一的KeyValuePair 。 调用dict.ContainsKey(k)预期(渐近)复杂度是多少? 我希望它在O(1)但我没有在Dictionary.ContainsKey文档中找到它。 调用dict.Keys.Contains(k)预期(渐近)复杂度是多少? 我希望它在O(1)但我没有在Dictionary.Keys文档中找到它,也没有在Dictionary.Keys文档中找到它。 如果它在O(1)我不明白为什么IDictionary.Keys属性的类型是ICollection而不是ISet (例如在Java中)。

按值“分组”字典

我有一个字典: Dictionary 。 我想得到一个新的字典,其中原始字典的键表示为List 。 这就是我的意思: var prices = new Dictionary(); prices包含以下数据: 1 100 2 200 3 100 4 300 我想得到IList<Dictionary<int,List>> : int List 100 1,3 200 2 300 4 我怎样才能做到这一点?

如何将ConcurrentDictionary转换为Dictionary?

我有一个ConcurrentDictionary对象,我想将其设置为Dictionary对象。 不允许在他们之间施放。 那我该怎么做?

将动态类型转换为字典C#

我有一个看起来像这样的动态对象, { “2” : “foo”, “5” : “bar”, “8” : “foobar” } 如何将其转换为dictionary ?

C#词典ValueOrNull / ValueorDefault

目前我正在使用 var x = dict.ContainsKey(key) ? dict[key] : defaultValue 我想要一些方法让字典[key]为非耐用键返回null,所以我可以写类似的东西 var x = dict[key] ?? defaultValue; 这也是linq查询等的一部分,所以我更喜欢单行解决方案。

将XML读入字典

我需要将XML文件读入字典。 我阅读了一些指南,我只是对我不理解的奇怪单词(如节点,XMLvalidation等)感到困惑。 所以,请你帮我一下吗? 我有一个XML文件,以这种格式编写: 如上所述,我想将它存储在字典中。 我该怎么办呢?