首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包含数组到交错数组的类的数组

包含数组到交错数组的类的数组
EN

Stack Overflow用户
提问于 2015-09-07 22:52:09
回答 2查看 97关注 0票数 1

我有一个封装数组的类,如下所示:

代码语言:javascript
复制
public class Data
{
    public double[] buffer  = new double[10];
}

然后我就有了一个Data对象数组:

代码语言:javascript
复制
Data[] arrayOfData  = new Data[10];

从所有arrayOfData对象的所有缓冲区中获取锯齿数组double[][]的最有效方法是什么?

EN

回答 2

Stack Overflow用户

发布于 2015-09-07 22:55:26

Linq将是一个选择

代码语言:javascript
复制
double[][] result = arrayOfData.Where(x => x != null).Select(x => x.buffer).ToArray();

更新:添加了空检查,因为Data可以为null,但double不可以

票数 0
EN

Stack Overflow用户

发布于 2015-09-07 23:03:11

你可以在这里简单地使用for循环。它只有两行代码:

代码语言:javascript
复制
Data[] arrayOfData  = new Data[10];
double[][] allBuffers = new double[arrayOfData.Length][];

for(int i = 0; i < arrayOfData.Length; i++) allBuffers[i] = arrayOfData[i].buffer;

或者,如果您更喜欢使用LINQ:

代码语言:javascript
复制
double[][] allBuffers = arrayOfData.Select(a => a.buffer).ToArray();

然而,这行代码的问题是,LINQ有一组用于接口IEnumerable<T>的扩展方法,因此它使用比for慢得多的foreach循环,并且被广泛用于迭代集合而不是数组。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32441413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档