UnityにおいてList<T>のforeachは厳禁という定説から幾数年。しかしなんと現在Unityが取組中のコンパイラアップデートによって解決されるのだ!ついに!というわけで、実際どういう問題があって、どのように解決されるのかを詳しく見ていきます。 現状でのArrayのforeachとListのforeach まずは現状確認。を、Unityのプロファイラで見てみます。以下の様なコードを書いて計測すると……。 var array = new int[] { 1, 2, 3, 4, 5 }; var list = new List<int> { 1, 2, 3, 4, 5 }; // ボタンを叩いて計測開始 button.OnClickAsObservable().Subscribe(_ => { Profiler.BeginSample("GCAllocCheck:Array"); fo