我有以下代码:
BlockTypes[,] BackupQuad = EditModeBlocks.ListOfBlocks; //Create Backup
for (int x = 0; x < 16; x++)
{
for (int y = 0; y < 16; y++)
{
//Translate each point to the opposite side
EditModeBlocks.ListOfBlocks[15 - x, y] = BackupQuad[x, y];
}
}
首先它构成备份(BackupQuad
),然后循环遍历备份阵列中的每个“块”。然后它从备份数组中读取块并将其重写为原始数组15-X。(我也尝试了16-x,但没有工作)。它在很大程度上起作用,但它将一半复制到另一侧,删除那里的所有内容。
答案 0 :(得分:5)
首先它构成备份(BackupQuad)
不,它确实没有。这只需要参考的副本。如果要获取实际对象的副本,则必须明确地执行此操作。例如:
BlockTypes[,] BackupQuad = (BlockTypes[,]) EditModeBlocks.ListOfBlocks.Clone();