インデックスが配列の境界外ですと表示される
Q.インデックスが配列の境界外ですと表示されてエラーになってしまいます。

A.配列からデータを1つずつ取り出す際にfor文などを使って取り出す際に、処理を繰り返す回数を間違えたりすると「インデックスが配列の境界外です」と表示されてエラーになってしまいます。
指定したインデックス番号(変数i)が配列の大きさよりも大きいです。
このエラーが発生したコードは以下の通りです。

果実の名前5つが格納された配列から1つずつ取り出して表示するプログラムです。
エラーの原因となっているのがここです。
for(int i = 0; i < 6; i++)
for文で6回繰り返す処理ですね。
6回繰り返すと何がいけないのでしょう?
注目してほしいのは配列に入っている要素の数です。
今回は果実の名前が5つ入っていますね。
この時各要素には順番に「インデックス番号」が割り振られます。
オレンジ:0
メロン :1
ブドウ :2
バナナ :3
ドングリ:4
このように5つの要素に0~4のインデックス番号が割り振られます。
※インデックス番号は0から始まります!
インデックス番号を踏まえてfor文をもう一度見てみましょう。
Console.WriteLine(data[i]);
とあるようにfor文の変数「i」を使ってインデックス番号を指定して名前を表示しています。
変数「i」は0から始まりfor文の処理が一度終わるたびに+1されて6より小さい限り処理が繰り返されます。
for(int i = 0;i < 6; i++)
このfor文だとi=5の時にも処理が実行されることが分かると思います。
しかし、今回の配列のインデックス番号には0~4までしかありません。
よって「インデックスが配列の境界外です」と表示されてしまいます。
このエラーを直すにはfor文の繰り返す回数や配列の指定を見直してみましょう。
今回は for(int i = 0; i < 5; i++) とすることで問題なく動きます。
他にも for(int i = 0; i < data.Length; i++) とすることで配列dataの要素数(今回は5)を使うこともできます。配列の要素数が分からない時に使えますね。
他にもfor文ではなくforeach文を使う方法などがあります。
是非調べてください。