248

IEnumerable<T>(同じ)の 2 つのインスタンスがありますTIEnumerable<T>両方を連結した新しいインスタンスが必要です。

それを行うための組み込みメソッドは .NET にありますか、それとも自分で作成する必要がありますか?

4

5 に答える 5

406

はい、LINQ toObjectsはこれをサポートしていEnumerable.Concatます:

var together = first.Concat(second);

注意: nullの場合first、またはsecondnullの場合は、を受け取りますArgumentNullException。これを回避し、空のセットと同じようにnullを処理するには、次のようにnull合体演算子を使用します。

var together = (first ?? Enumerable.Empty<string>()).Concat(second ?? Enumerable.Empty<string>()); //amending `<string>` to the appropriate type
于 2013-01-04T21:07:58.733 に答える
10

以下のコードをソリューションに使用できます:-

public void Linq94() 
{ 
    int[] numbersA = { 0, 2, 4, 5, 6, 8, 9 }; 
    int[] numbersB = { 1, 3, 5, 7, 8 }; 

    var allNumbers = numbersA.Concat(numbersB); 

    Console.WriteLine("All numbers from both arrays:"); 
    foreach (var n in allNumbers) 
    { 
        Console.WriteLine(n); 
    } 
}
于 2013-09-27T11:31:19.823 に答える