>>It's not a bug it's just a way collection works.
>
>Yea. You're right. I've checked collections in C# .NET and trying to remove item in foreach() throws exception.
>
>Well, I thought "for each" means "for each" not "for every the second" ;)
Well, think of it as an indexed array. When you delete Item #1, every item moves backward, so that #2 is now #1, #3 is #2, etc. After you've deleted #1, you don't need to delete it again, so you move to #2, which used to be #3.