当前位置:  开发笔记 > 编程语言 > 正文

转换2维数组

如何解决《转换2维数组》经验,为你挑选了2个好方法。

selectMany.ToArray()方法是什么?它是内置的方法C#吗?

我需要将二维数组转换为一维数组.



1> Marc Gravell..:

如果你的意思是一个锯齿状的数组(T[][]),SelectMany是你的朋友.但是,如果你的意思是一个矩形数组(T[,]),那么你可以通过foreach- 或者枚举日期数据:

int[,] from = new int[,] {{1,2},{3,4},{5,6}};
int[] to = from.Cast().ToArray();


这个线程http://stackoverflow.com/questions/5132397/fast-way-to-convert-a-two-dimension-array-to-a-list-one-Dimension,详细介绍了执行foreach方法和还有一些性能指标。

2> CMS..:

SelectMany是一个投影操作符,是命名空间System.Linq提供的扩展方法.

它在序列上执行一对多元素投影,允许您将生成的序列"展平"为一个.

您可以这样使用它:

int[][] twoDimensional = new int[][] { 
                                      new int[] {1, 2},
                                      new int[] {3, 4},
                                      new int[] {5, 6}
                                     };

int [] flattened = twoDimensional.SelectMany(x=>x).ToArray();


乖点; 这不是我所说的二维数组 - 它是一个锯齿状的数组......
推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有