0
我想顛倒一個數組。這是我的代碼:索引超出範圍的例外
using System;
class Hello
{
static void Main()
{
int[] num = new int[] { 1, 2, 3, 4, 5 };
int index = num.Length - 1;
int[] newNum = new int[index];
for (int i = 0; i < num.Length; i++)
{
newNum[i] = num[index]; // error
index--;
Console.WriteLine(newNum[i]);
}
Console.ReadLine();
}
}
當我運行代碼,控制檯打印
5
4
3
2
,然後返回一個錯誤:上線
IndexOutOfRangeException was unhandled
:
newNum[i] = num[index];
這行代碼有什麼問題?當我在循環之前打印num[0]
時,它工作正常。
嗯,是的,你的'newNum'陣列是一個元素比你'num'陣列規模較小,但你的循環寫,如果是相同的長度'num'。你爲什麼這樣做? –
爲什麼不使用Enumerable.Reverse? [鏈接](https://msdn.microsoft.com/library/bb358497(v = vs.100).aspx) –
@croxy:請勿刪除相關代碼。 'System'命名空間的'using'指令對於編譯代碼是必要的。 –