ArrayList A = new ArrayList();
A.Add(\"a\"); A.Add(\"b\"); A.Add(\"c\");

foreach(string str in A)
{
       if (str.Equals(\"b\") == true)
       {
              A.Add(\"e\");
        }
}


C#에서 이렇게 만들면
런타임 때 에러가 나는데
이게 왜 에러가 나는건가여?

이거 해결법은 알겠는데
왜 런타임 에러가 나게 되는건지    이유는 잘 모르겠어여




그리고 제가 C언어 배운 다음에  C++은 그냥 스킵하고   C#부터 배웠는데 C++도
#include <list>
STL에서 위와 같은 문제 발생하나여??

STL에서 erase였던가 remove 였던가를 쓰면 반복자가 꼬여서 뭐 잘 안 될 수 있다 본 것 같기는 한데
list는 삭제해도 반복자가 꼬일 것 같지는 않고, 위의 문제는 Add가 안 되는 거고...


저 문제는 왜 생기는 건가요?