私はいくつかの座標を含む読み取り専用リストを持っています。以下の方法で読み取り専用リスト自体をオーバーライドします
private readonly List<float[]> rightPositions = new List<float[]>()
{
new float[2] { 250, 0 },
new float[2] { 350, -200 },
new float[2] { 350, 200 },
new float[2] { 600, 0 }
};
IフィールドrTeam.PlayerArray[iterator].Position
にList<float[]> rightPositions
から静的データを与えます。
private void ClearPlayers(Team rTeam, Team lTeam)
{
for (int iterator = 0; iterator < rTeam.PlayerArray.Length; iterator++)
{
rTeam.PlayerArray[iterator].Position = rightPositions.ElementAt(iterator);
}
}
ClearPlayers(Team rTeam, Team lTeam)
が実行される最初の時間は、List<float[]> rightPositions
からのデータはrTeam.PlayerArray[iterator].Position
に入れています。最初の後、読み取り専用のデータList<float[]> rightPositions
は以前と同じではありません。
わかりやすかったですか?あるいは、私はreadonlyフィールドよりも何かを使う必要がありますか?
ありがとうございます。
@pokeこの場合、完全な複製ではありません。 * list *が不変であっても、オブジェクトは内部ではありません。それは問題ではありません。 –