Her biri aynı türde nesneler içeren (örneğin, List<int> foo
ve List<int> bar
) rastgele sayıda koleksiyonum olduğunu varsayalım . Bu koleksiyonların kendileri bir koleksiyonda olsaydı (örneğin, türden List<List<int>>
, SelectMany
hepsini tek bir koleksiyonda birleştirmek için kullanabilirdim .
Ancak bu koleksiyonlar halihazırda aynı koleksiyonda değilse, benim izlenimime göre şöyle bir yöntem yazmalıyım:
public static IEnumerable<T> Combine<T>(params ICollection<T>[] toCombine)
{
return toCombine.SelectMany(x => x);
}
Daha sonra şöyle derim:
var combined = Combine(foo, bar);
Combine
Yukarıdaki gibi bir yardımcı yöntem yazmak zorunda kalmadan koleksiyonları (herhangi bir sayıda) birleştirmenin temiz ve zarif bir yolu var mı ? LINQ'da bunu yapmanın bir yolu olması gerektiği kadar basit görünüyor, ama belki de değil.