Katakanlah saya memiliki jumlah koleksi yang berubah-ubah, masing-masing berisi objek dengan jenis yang sama (misalnya, List<int> foo
dan List<int> bar
). Jika koleksi-koleksi ini adalah koleksi mereka sendiri (misalnya, dari tipe List<List<int>>
, saya dapat menggunakan SelectMany
untuk menggabungkan semuanya menjadi satu koleksi.
Namun, jika koleksi ini belum ada dalam koleksi yang sama, kesan saya bahwa saya harus menulis metode seperti ini:
public static IEnumerable<T> Combine<T>(params ICollection<T>[] toCombine)
{
return toCombine.SelectMany(x => x);
}
Yang kemudian saya sebut seperti ini:
var combined = Combine(foo, bar);
Adakah cara yang bersih dan elegan untuk menggabungkan (sejumlah) koleksi tanpa harus menulis metode utilitas seperti di Combine
atas? Tampaknya cukup sederhana sehingga harus ada cara untuk melakukannya di LINQ, tetapi mungkin tidak.