コードスペランカー

ゲーム開発日誌など

ArrayListを使った自分自身の削除

最近C#をはじめたので、そっちの勉強

ArrayListにいっぱい詰め込んで
詰め込んだものを順番に処理
そして、今処理してるやつをArrayListから削除したいと思ったときに

foreach (Object it in obj)
{
  obj.Remove(it);
}

とかやると、エラーが出て使えない。
そりゃ、全体に処理するとか言ってる割に、中のものを削除し始めるとどこからどこまでが全体かわからなくなるわなぁ。

ってわけで、別な方法が

for (int i = obj.Count - 1; i >= 0; i--)
{
  Object it = (Object)obj[i];
  obj.Remove(it);
}

という形、後ろ向きに処理するのがミソ。