プレイヤーが生きていない場合にプレイヤーを削除するこのコードがありますが、問題はループforeach
であると考えました。私は新しいリストを作るという解決策を見てきましたが、どのように私のコードにそれを適用できるのか分かりません。誰でも光を放つことができますか?コレクションが変更されました。列挙操作が実行されない可能性があります
private Dictionary<int, Player> numPlayers = new Dictionary<int, Player>();
private void CheckPlayers()
{
foreach (Player player in numPlayers.Values)
{
if (!player.isAlive)
{
canvas.Children.Remove(player.hand);
numPlayers.Remove(player.id); // breaks here
}
}
}
[なぜ私は "コレクションが変更されていますか?列挙されたコレクションを変更していないときに列挙操作が実行されないことがありますか?](http://stackoverflow.com/questions/2791503/why-am-i-getting-collection-was-modified-enumeration-operation-may-not-execute ) – nawfal