gpt4 book ai didi

c# - 如何检测集合在迭代过程中是否被修改

转载 作者:太空宇宙 更新时间:2023-11-03 14:43:45 24 4
gpt4 key购买 nike

当遍历字典或列表或其他一些集合时,我能否以某种方式检查集合是否被修改?

foreach (var pair in dictionary) {
DoStuff(pair);
if (DictionaryWasModified())
break;
}

如果 DoStuff 添加到字典或从字典中删除,将在下一个迭代步骤中引发异常。我想避免异常。

最佳答案

字典及其迭代器将有关集合自上次迭代以来是否已更改的信息保密,因此您无法访问它。如果您希望能够在集合发生变化时安全地对其进行迭代,或者能够知道自从开始迭代以来它何时发生了变化,您需要制作自己的集合(可能是包装现有集合),其中您自己跟踪它是否已更改,并公开该信息。

关于c# - 如何检测集合在迭代过程中是否被修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55536596/

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