LINQの拡張メソッドであるFirstメソッドLastメソッドを使うことでも最初の要素・最後の要素を取得することができます。

Firstメソッド・Lastメソッドを使ってListの最初の要素・最後の要素を参照する
using System;
using System.Collections.Generic;
using System.Linq;

class Sample {
  static void Main()
  {
    List<string> list = new List<string>() {"Alice", "Bob", "Charlie", "Dave", "Eve"};

    // 最初の要素を取得
    Console.WriteLine(list.First());

    // 最後の要素を取得
    Console.WriteLine(list.Last());
  }
}
実行結果
Alice
Eve

最初の要素・最後の要素を参照することが多くなる場合は、ListではなくStackQueueLinkedListなどのコレクションを使う方がアルゴリズム上適切な可能性があります。

LinkedListでは最初の要素・最後の要素を表すFirstプロパティとLastプロパティが用意されています。

Listクラスでは先頭・末尾の要素の追加/取り出しを行うpush/popshift/unshiftのようなメソッドは提供されません。 push/popを行いたい場合はStackクラスshift/unshiftを行いたい場合はQueueクラスを使うようにしてください。