Dictionary<string, lim> urlsLimited = new Dictionary<string, lim>();
struct lim
{
public int min;
public int max;
}
foreach (KeyValuePair<string, lim> pair in urlsLimited)
{
if (urlsLimited[pair.Key].min < urlsLimited[pair.Key].max)
{
string like = od.LikeDiscussions(pair.Key);
if (like == "Like")
{
lock (locker)
{
good_like++;
lim val = pair.Value;
val.min++;
urlsLimited[pair.Key] = val;
log_good_like(good_like);
}
}
}
}
第1次循環後,我收到的foreach收集被修改。枚舉操作可能無法執行。如何擺脫它?收藏已修改。枚舉操作可能不會執行
你必須停止在foreach循環修改集合。 –
在枚舉過程中,您正在修改字典條目'urlsLimited [pair.Key] = val;'。這是不允許的。在列舉時不要修改字典 –