Find・FindLast・FindAllメソッドを使って条件に合致するList内の要素を取得する(ラムダ式版、C# 3.0以降)
using System;
using System.Collections.Generic;

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

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

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

    // "e"を含むすべての要素
    List<string> found = list.FindAll(s => s.Contains("e"));

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