繁体   English   中英

我如何转换列表 <int[]> 进入清单 <int>

[英]How do i convert List<int[]> into List<int>

private static void A(){
List<int[]> list = new List<int[]>();
int[] a = {0,1,2,3,4};
int[] b = {5,6,7,8,9};
list.Add(a);
list.Add(b);

List<int> list2 = new List<int>(); 
// list2 should contain {0,1,2,3,4,5,6,7,8,9}
}

我将如何将List<int[]> list转换为List<int>以便所有int[] arrays成为一个巨大的数字列表

看起来您可能正在寻找LINQ .SelectMany方法。 来自MSDN的报价:

将序列的每个元素投影到IEnumerable并将结果序列展平为一个序列

List<int> list2 = list.SelectMany(l => l).ToList();

如果希望按特定顺序对数字进行排序,则可以在执行查询之前使用.OrderBy (将在我们调用.ToList时执行)。

List<int> list2 = list.SelectMany(l => l).OrderBy(i => i).ToList();

关于什么?

var list2 = a.Concat(b).ToList();

我会使用聚合函数。 拥有更多收藏时会更好。

List<int> list2 = list.Aggregate(new List<int>(), (ag, l) => { ag.AddRange(l); return ag; });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM