gpt4 book ai didi

c# - 组合多个元素集合的优雅方式?

转载 作者:IT王子 更新时间:2023-10-29 03:40:17 25 4
gpt4 key购买 nike

假设我有任意数量的集合,每个集合包含相同类型的对象(例如,List<int> fooList<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 中执行此操作,但也许没有。

最佳答案

我认为您可能正在寻找 LINQ 的 .Concat()

var combined = foo.Concat(bar).Concat(foobar).Concat(...);

或者,.Union() 将删除重复元素。

关于c# - 组合多个元素集合的优雅方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4493858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com