削除したい値を指定してListに格納されている要素を削除するにはRemoveメソッドを使います。 List内に同じ値を持つ要素が複数ある場合、Removeメソッドは最初に見つかったものを削除します。

Listから要素を削除した場合、RemoveメソッドはTrueを返します。 削除しようとした値をもつ要素がList内に無かった場合、RemoveメソッドはFalseを返します。

Removeメソッドを使って指定された値を持つ要素をList内から削除する
using System;
using System.Collections.Generic;

class Sample {
  static void Main()
  {
    List<int> list = new List<int>() {0, 1, 2, 1, 0};

    Print(list);

    // 値1を持つ最初の要素を削除する
    // (最初に見つかった1が削除される)
    list.Remove(1);

    Print(list);

    // 値1を持つ最初の要素を削除する
    list.Remove(1);

    Print(list);
  }

  static void Print(List<int> list)
  {
    foreach (int e in list) {
      Console.Write("{0}, ", e);
    }

    Console.WriteLine();
  }
}
実行結果
0, 1, 2, 1, 0, 
0, 2, 1, 0, 
0, 2, 0,

Removeメソッドでは削除したい値を指定します。 削除したい要素のインデックスを指定して要素を削除したい場合はRemoveAtメソッドメソッドを使うことができます。