1. ホーム
  2. c#

[解決済み】2つのIEnumerable<T>を連結して新しいIEnumerable<T>にする方法は?

2022-04-02 13:15:54

質問

のインスタンスを2つ持っています。 IEnumerable<T> (同じ T ). の新しいインスタンスを作成したい。 IEnumerable<T> を連結したものである。

.NETにそのような方法が組み込まれているのでしょうか、それとも自分で書かなければならないのでしょうか?

どのように解決するのですか?

はい、LINQ to Objects は、以下の方法でこれをサポートします。 Enumerable.Concat :

var together = first.Concat(second);

注意: 次のようになります。 first または second が null ならば ArgumentNullException . これを避けるには、空集合と同じようにNULLを扱い、NULL合体演算子を次のように使用します。

var together = (first ?? Enumerable.Empty<string>()).Concat(second ?? Enumerable.Empty<string>()); //amending `<string>` to the appropriate type