Angenommen, ich habe eine beliebige Anzahl von Sammlungen, die jeweils Objekte desselben Typs enthalten (z. B. List<int> foo
und List<int> bar
). Wenn diese Sammlungen selbst in einer Sammlung wären (z. B. vom Typ List<List<int>>
, könnte ich SelectMany
sie alle zu einer Sammlung kombinieren.
Wenn sich diese Sammlungen jedoch nicht bereits in derselben Sammlung befinden, hätte ich den Eindruck, dass ich eine Methode wie diese schreiben müsste:
public static IEnumerable<T> Combine<T>(params ICollection<T>[] toCombine)
{
return toCombine.SelectMany(x => x);
}
Was ich dann so nennen würde:
var combined = Combine(foo, bar);
Gibt es eine saubere und elegante Möglichkeit, (beliebig viele) Sammlungen zu kombinieren, ohne eine Dienstprogrammmethode wie Combine
oben schreiben zu müssen ? Es scheint einfach genug, dass es eine Möglichkeit geben sollte, dies in LINQ zu tun, aber vielleicht auch nicht.