我有一個集合讓我們說整數列表並通過它使用foreach循環,但是如果我必須在循環期間將數據插入列表中,我該怎麼做?我得到當通過它來修改集合時獲取InvalidOperationException
未處理的異常:System.InvalidOperationException:集合是 修改後的枚舉操作可能無法執行。
這是下面的示例代碼。我認爲AsReadonly()會返回一個在修改狀態之前的集合。這裏情況不同。
ints = new List<int>(30);
ints.AddRange(Enumerable.Range(1, 10));
int y = 11;
foreach(int x in ints.AsReadOnly())
{
ints.Add(y++);
Console.WriteLine(x);
}
出於好奇?上面討論的是什麼?我在問,因爲如果不理解你的真實用例是什麼,甚至不可能建議你一種替代方法。 –
可能的重複[如何修改或刪除可枚舉集合中的項目,同時在C#中迭代它](http://stackoverflow.com/questions/308466/how-to-modify-or-delete-items-from-an -umeumerable-collection-while-iterating-throu) – adrianbanks