プログラム要素として見た場合の配列とは、複数の同じ種類(=同じ)の値に名前を与えてひとまとめにして扱うものです。 複数の変数の場合は個々の値にそれぞれ名前が与えられますが、配列では値の集まりにひとつの名前(=配列の変数名)が与えられ、配列内の個々の値(要素)はインデックスによって区別します(インデックスは添え字とも呼ばれる)。

複数の変数と配列
using System;

class Sample {
  static void Main()
  {
    // 複数の変数
    string user0 = "Alice";
    string user1 = "Bob";
    string user2 = "Charlie";

    // 配列
    string[] users = new string[3];

    users[0] = "Alice";
    users[1] = "Bob";
    users[2] = "Charlie";
  }
}

上記の例で言えば、user0, user1, user2の各変数は名前から関連性が示唆されるものの独立した値として存在します。 一方usersは、インデックスによって個々の値が区別されると同時に、その値の集合全体にも名前が与えられていて、ひとまとめの値として存在します。