集合转二维数组

tonytenglei 2014-05-29 03:53:55
我有不定长数据,每个数据为一个一维数组,为方便添加,我加到list中,可最终结果我需要将这个集合还原成一个二维的数组,非要一个元素一个元素的读么?数据很多,这样的话耗时太久
...全文
429 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tonytenglei 2014-05-29
  • 打赏
  • 举报
回复
引用 4 楼 caozhy 的回复:
你这个不是二维数组,而是交错数组。 ToArray()可以做到,比如: List<int> data = new List<int>() { 1, 2, 4, 7, 8, 9, 10, 11, 12, 13, 20 }; int[][] a = data.GroupBy(x => x / 5).Select(x => x.ToArray()).ToArray();
感谢,我是数据采集,每次采集好做成一个数组,并加入到集合中,类似 double[] a = {1,2,3,......3648}; double[] b = {1,2,3,......3648} . . . double[] n = {1,2,3,......3648} n值为100000左右 我把每次得到的数组都加到一个集合中了 list<double> temp one = .... one.add(a); one.add(b); . . . one.add(n) 最终我需要将这些数组存到excel中,我了解到用range可直接将二维数组存入excel,好象还比较高效,所以才会提到集合转二维数组的,用你讲的方法,我可以操作么?
threenewbee 2014-05-29
  • 打赏
  • 举报
回复
你这个不是二维数组,而是交错数组。 ToArray()可以做到,比如: List<int> data = new List<int>() { 1, 2, 4, 7, 8, 9, 10, 11, 12, 13, 20 }; int[][] a = data.GroupBy(x => x / 5).Select(x => x.ToArray()).ToArray();
wanghui0380 2014-05-29
  • 打赏
  • 举报
回复
问题不大,只是你要把T,重载一下索引,然后吗就是你表征上地“二维数组” list<t> list t[] x=list.toarray() 如果你自己重载了索引 后面用法在表征上和“二维数组”没有区别,你一样可以 x[0][1]去读写
tonytenglei 2014-05-29
  • 打赏
  • 举报
回复
看来还是不能直接转啊,c#中的toarray可用于转成二维数组么?
iyomumx 2014-05-29
  • 打赏
  • 举报
回复
不遍历数据怎么拷贝 你觉得慢可以开几个线程来做,比如Parallel.For

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧