System.IndexOutOfRangeException

配列の境界外のインデックスを使用して配列の要素にアクセスしようとした場合にスローされる例外。

[実験ソース(C#)]

using System;

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

            int[] a = new int[3];

            for (int i = 1; i <= a.Length; i++)

            {

                Console.WriteLine(a[i]);

            }

        }

    }

}

[結果]


0
0

ハンドルされていない例外: System.IndexOutOfRangeException: インデックスが配列の境界外です。
場所 ConsoleApplication1.Program.Main(String[] args) 場所 Program.cs:行 8

[対処など]
C# では、配列は 0オリジンなので、for (int i = 0; i < a.Length; i++) とする。
同じようでも、int[] 配列ではなく、List を使うと、System.ArgumentOutOfRangeException が発生する。