在 foreach 中修改Dictionary中的值是不允许的,可以将key 先放在List中,foreach 这个list ,找到需要修改的项后,再修改原Dic中的内容。
例如
Dictionary<string, int> imgSet = new Dictionary<string, int>();
imgSet.Add("1.jpg", 0);
List<string> imgList = new List<string>();
imgList.AddRange(imgSet.Keys);
foreach (string imgUrl in imgList)
{
this._fileUrlSet[imgUrl] = 1; //修改下载状态
}
本文介绍了一种在C#中安全地遍历并修改Dictionary的方法。通过将键存储到List中,然后遍历该List来更新原始Dictionary的值,避免了直接在遍历过程中修改字典可能引发的问题。
1053

被折叠的 条评论
为什么被折叠?



