在循环期间是否为循环计数元素添加了自身?

Mar*_*rek 2 c# for-loop list

我的问题是,当我循环遍历带有for循环的列表,并在此期间向其添加元素时,它是否计算循环时添加的元素?简单的代码示例:

for (int i = 0; i < listOfIds.Count(); i++) // Does loop counts the items added below?
{
    foreach (var post in this.Collection)
    {
        if (post.ResponsePostID == listOfIds.ElementAt(i))
        {
            listOfIds.Add(post.PostId); // I add new item to list in here
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望我的解释足以让你明白我的问题是什么.

Den*_*aub 8

是的,它通常会.但是,在迭代它的同时更改集合可能会导致奇怪的行为和难以发现的错误.根本不推荐.