Find・FindLast・FindAllメソッドを使って条件に合致するList内の要素を取得する(匿名メソッド版) 
using System;
using System.Collections.Generic;

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

    // 長さが3である最初の要素
    Console.WriteLine("Find: {0}", list.Find(delegate(string s) { return s.Length == 3; }));

    // 長さが3である最後の要素
    Console.WriteLine("FindLast: {0}", list.FindLast(delegate(string s) { return s.Length == 3; }));

    // "e"を含むすべての要素
    var found = list.FindAll(delegate(string s) { return s.Contains("e"); });

    Console.Write("FindAll: ");
    foreach (var e in found) {
      Console.Write("{0}, ", e);
    }
    Console.WriteLine();
  }
}
実行結果
Find: Bob
FindLast: Eve
FindAll: Alice, Charlie, Dave, Eve,