假设我有任意数量的集合,每个集合包含相同类型的对象(例如,List<int> foo
和 List<int> bar
)。如果这些集合本身是一个集合(例如,类型为 List<List<int>>
的集合) ,我可以使用 SelectMany
将它们组合成一个集合。
但是,如果这些集合不在同一个集合中,那么我的印象是我必须编写这样一个方法:
public static IEnumerable<T> Combine<T>(params ICollection<T>[] toCombine)
{
return toCombine.SelectMany(x => x);
}
然后我会这样称呼它:
var combined = Combine(foo, bar);
有没有一种简洁、优雅的方法来组合(任意数量的)集合,而不必编写像上面的 Combine
这样的实用方法?看起来很简单,应该有一种方法可以在 LINQ 中实现,但也许并非如此。