List内の要素を参照するには、配列の場合と同様にインデックスを指定します。 これにより、List内に格納されている値を取得したり、値の設定(上書き)をすることができます。 Listを作成する場合、初期状態で要素が格納された状態で作成することも、また空のListを作成しておいて後から要素を追加することもできます。

Listを作成する・List内の要素を取得・設定する
using System;
using System.Collections.Generic;

class Sample {
  static void Main()
  {
    // 初期状態で5つの要素があるstring型のListを作成
    List<string> list = new List<string>() {"Alice", "Bob", "Charlie", "Dave", "Eve"};

    // インデックス0と3の要素を参照して表示
    Console.WriteLine("list[0] -> {0}", list[0]);
    Console.WriteLine("list[3] -> {0}", list[3]);

    // インデックス1の要素に値を設定
    list[1] = "Frank";

    Console.WriteLine("list[1] -> {0}", list[1]);
  }
}
実行結果
list[0] -> Alice
list[3] -> Dave
list[1] -> Frank

C#ではインデクサによって、VB.NETでは既定のプロパティItemによって、配列と同様にインデックスによる取得・設定ができるようになっています。 インデクサについてはプロパティ §.インデクサを参照してください。