在c#中平坦锯齿数组
本文关键字:数组 | 更新日期: 2023-09-27 18:12:45
是否有一种优雅的方法可以在c#中平坦化2D数组(使用Linq或不使用)?
。假设
var my2dArray = new int[][] {
new int[] {1,2,3},
new int[] {4,5,6}
};
我想调用像
这样的东西my2dArray.flatten()
将产生
{1,2,3,4,5,6}
任何想法?
您可以使用SelectMany
var flat = my2dArray.SelectMany(a => a).ToArray();
这将适用于像你的例子中的锯齿数组,但不适用于像
这样的二维数组。var my2dArray = new [,] { { 1, 2, 3 }, { 1, 2, 3 } };
在这种情况下你可以像这样迭代
foreach(var item in my2dArray)
Console.WriteLine(item);