我試圖用C#在數組中存儲十個值。如果我只使用單位數字,一切都會順利進行。但是,每次給兩位或更多位數字時,我都會遇到錯誤,指出它超出了數組索引的範圍。我懷疑它是單獨存儲每個數字,例如,如果10是我輸入的第一個數字,它會在第一個位置存儲1,在第二個位置存儲0。但是,我不確定。這是問題還是其他問題?我怎樣才能解決這個問題?如何找到「超出範圍」異常的原因?
(使用Microsoft Visual Studio 2010旗艦版)
代碼:
double[] userValues = new double[10];
for (int i=0; i < userValues.Length; i++) {
Console.Write("Enter a value: ");
userValues[i] = Convert.ToDouble(Console.ReadLine());
}
錯誤我得到的一個例子:
Enter a value: 10
Enter a value: 10
Enter a value: 10
Enter a value: 10
Enter a value: 10
Enter a value: 10
Enter a value: 10
Enter a value: 10
Enter a value: 10
Enter a value: 10
Unhandled Exception: System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Assignment1.Program.Main(String[] args) in I:\CS2350\Assignment1\Assignment1\Program.cs:line 21
Press any key to continue . . .
該代碼適用於我。循環之後還會發生什麼其他代碼? – 2012-02-20 02:06:46
第21行的代碼行是什麼? – 2012-02-20 02:10:40
只需在調試器中運行(也許在菜單Debug中啓用 - 例外CLR異常)並查看VS2010停止的行。 – Oliver 2012-12-18 15:35:10