Her biri aynı türde nesneler içeren (örneğin, List<int> foove 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>>, SelectManyhepsini 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);
CombineYukarı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.