(小ネタ)拡張メソッドを使用する場合も、Nullチェックは必要です!
IEnumerable
C#で変数の値がnullで落ちる場合に投げられる例外は、System.NullReferenceException である。
それで、今回投げられた例外を良く見てみると、System.ArgumentNullException であった。これは、引数がnullだったら投げる例外なので、つまり拡張メソッドの中でnullと判定されて投げられた例外だったということ。
基本的な事でした。拡張メソッドを使用する場合も、nullチェックは必要という事ですね。