C# を使用して、グリッド ベースのマップ システムを含むゲームを作成しています。グリッド システムを List オブジェクトに格納しています。ここで、T は位置とその他のデータを含む型です。タイルの隣接を見つける関数を呼び出すと、実行が極端に遅くなりました。遅延をリストの Find() メソッドの呼び出しに絞り込みました。メソッドは次のようになります。
list.Find(タイル => タイル.X == x && タイル.Y == y)
なぜこれがこのような巨大な遅延を引き起こしているのでしょうか? タイルをリストに保存するより良い方法はありますか?