我認爲這是一個延遲執行的執行問題,但也許我錯過了點有些迭代一個集合哪兒
我有一個循環從而
List<int> processed = new List<int>()
foreach(KeyValuePair<int,bool> tbl1 in tables.Where(z=>!processed.Contains(z.Key))){
//do some stuff...etc
processed.Add(someInt);
}
我覺得這是很危險的,但延期執行實際上是否能夠實現這一目標? 它確實似乎迭代我有點輕聲說'如預期',但... 問題是我猜 大概這是一個壞主意,通常搞亂您正在迭代的集合是壞的。
想法? 感謝
確定要清楚.. 問題是
說表被填充這樣
1,真 2,假 3,假 4,假 5,假 6,假
第一圈我在tbl1中獲得{1,true}並在第二圈添加說2到處理列表 我會在tbl1中獲得{3,false} 然後添加3和4到處理 第三圈我會得到{5,false}在tbl1 這是預期的嗎?
如果我在第4圈添加了6個處理過程,我會在下一次出現時再次獲得{5,false}嗎? 再次被這個預期 我想我只是覺得這有點混亂,感覺它的危險,但可能這只是我 - 作爲它的不完全決策意識
ň
我認爲你的直覺是壞的是:-)它應該工作。 –