要素を入れ替えて値を変更するには、変更したい要素のインデックスを指定して値を代入します。

List内の要素の値を変更する
using System;
using System.Collections.Generic;

class Sample {
  static void Main()
  {
    // 要素が格納されていない空のListを作成
    var list = new List<string>();

    // 要素を追加する
    list.Add("Alice");
    list.Add("Bob");
    list.Add("Charlie");

    Print(list);

    // インデックス1の要素に格納されている値を変更する
    list[1] = "Dave";

    Print(list);
  }

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

    Console.WriteLine();
  }
}
実行結果
Alice, Bob, Charlie, 
Alice, Dave, Charlie,