LINQ - シーケンスの最初(最後)に要素を追加する

今さら感いっぱいですが、気づいたらEnumerableに次の拡張メソッドが追加されていました。

  • Enumerable.Prependメソッド

    • シーケンスの最初に要素を追加する
  • Enumerable.Appendメソッド

    • シーケンスの最後に要素を追加する

今まではちょっと微妙かなと思いつつもConcatを使った記憶がありますが、今度からこっちを使おうと思います。

ということでサンプルコード。

シーケンスの最初に要素を追加する

// シーケンス
var source = new[] { 2, 3, 4 };

// Prepend:シーケンスの最初に1を追加する
foreach (var item in source.Prepend(1)) {
    Console.WriteLine(item);
}
// 1
// 2
// 3
// 4

シーケンスの最後に要素を追加する

// シーケンス
var source = new[] { 2, 3, 4 };

// Append:シーケンスの最後に5を追加する
foreach (var item in source.Append(5)) {
    Console.WriteLine(item);
}
// 2
// 3
// 4
// 5