私はC#で配列に10個の値を格納しようとしています。一桁の数字だけを使用すると、すべてがスムーズに進みます。しかし、2桁以上の数字を与えるたびに、配列インデックスの範囲外であるというエラーが出ます。私はそれが別々に各桁を格納していると思われます。たとえば、最初の数字が10であれば、最初の位置に1、2番目に0が格納されます。しかし、私は確信していません。それがここの問題なのですか、それとも何か他のものですか?これをどうすれば解決できますか? (究極のマイクロソフトの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 . . .
そのコードは私にとって役に立ちます。ループの後に他のコードがありますか? –
21行目のコード行は何ですか? –
単にデバッガで実行してください(デバッグ - 例外CLR例外メニュー内で有効にしてください)、VS2010が停止している行を見てください。 – Oliver