コンストラクタに特に何も指定しないでListを作成した場合は、空のListが作成されます。 配列やコレクションを指定して作成した場合は、それと同じ内容のListを持つListが作成されます。 どちらの場合でも、インスタンス作成後に要素を追加したり削除したりすることができます。

初期状態で配列と同じ内容をもったListを作成する
using System;
using System.Collections.Generic;

class Sample {
  static void Main()
  {
    // 初期状態でListに格納しておきたい要素を含む配列
    var arr = new string[] {"Alice", "Bob"};

    // 初期状態で上記の配列と同じ内容をもつListを作成する
    var list = new List<string>(arr);

    // 作成したListに要素を追加する
    list.Add("Charlie");

    // listの内容は{"Alice", "Bob", "Charlie"}となる
  }
}

初期値をもったList(あらかじめ要素が格納された状態のList)を作成したい場合は、上記のように配列やコレクションをコンストラクタに指定してインスタンスを作成するか、後述のコレクション初期化子を使用してインスタンスを作成します。

また、コンストラクタに他のListを指定すれば、そのListの複製を作ることができます。(詳細:§.Listの複製) このほか、初期容量を指定してListインスタンスを作成することもできます。(詳細:§.初期容量)