我想把整个数组换一个。示例:如果数组从[0]变为[19],我希望它从[1]到[20],[0]消失。
目前的方法(这是错误的):
shiftRight(operationsList.ToArray()));
public Operation3D[] shiftRight(Operation3D[] arr)
{
Operation3D[] demo = new Operation3D[arr.Length];
for (int i = 1; i < arr.Length; i++)
{
demo[i] = arr[i - 1];
}
demo[0] = arr[demo.Length - 1];
return demo;
}
答案 0 :(得分:5)
由于调整大小,将元素向右移动将需要一个新数组。无法使索引0
消失。它必须存在,但它可以是null
。
以下代码将实现此目的:
public Operation3D[] shiftRight(Operation3D[] arr)
{
Operation3D[] result = new Operation3D[arr.Length + 1];
Array.Copy(arr, 0, result, 1, arr.Length);
return result;
}