gpt4 book ai didi

c# - 是 Dictionary 中 KeyValuePair<> 元素的迭代顺序

转载 作者:太空宇宙 更新时间:2023-11-03 11:38:34 25 4
gpt4 key购买 nike

我有一个包含几十万个元素的字典。我需要对字典中的每一对执行冗长的计算,因此为此我想生成几个工作线程并为每个线程分配字典中要处理的一系列元素。

我知道哈希表的“顺序未定义”,这很好 - 我只关心这个:

如果我从不同的线程执行此操作:

int count = 0;
foreach (KeyValuePair<int, IDataPoint> pair in pointDictionary)
{
if (count >= min && count <= max) // min,max different for each thread
{
// do stuff
}
++count;
}

pointDictionary 中的元素是否会在不同的线程上以相同的顺序被访问?

如果不是,我必须将字典分解为 N 个字典,并将每个迷你字典中的一个传递给 N 个工作线程。

最佳答案

可以,只要字典没有被修改。

Is the order of objects returned by FOREACH stable?

关于c# - 是 Dictionary<int,T> 中 KeyValuePair<> 元素的迭代顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5482276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com