包含数组到锯齿状数组的类数组

时间:2015-09-07 14:52:09

标签: c# arrays

我有一个类封装了这样的数组:

public class Data
{
    public double[] buffer  = new double[10];
}

然后我有一组Data个对象:

Data[] arrayOfData  = new Data[10];

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

2 个答案:

答案 0 :(得分:0)

Linq将是一个选择

// transaltion: Fixed Assets
@XxxxxCaption(aaaa="Środek Trwały", bbb="Środki Trwałe", softwarename="SrodekTrwaly")
@Entity ST {
   @Column(length=24)
   @XxxxxCaption(xxLong="Numer środka Trwałego", xxxShort="Numer ST")
   String No;
} 

更新:添加了空检查,因为double[][] result = arrayOfData.Where(x => x != null).Select(x => x.buffer).ToArray(); 可以是Datanull不是

答案 1 :(得分:0)

您可以在此处使用for循环。它只有两行代码:

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:

double[][] allBuffers = arrayOfData.Select(a => a.buffer).ToArray();

这行代码的问题是LINQ为接口IEnumerable<T>提供了一组扩展方法,因此它使用比foreach慢得多的for循环并被广泛使用只是遍历集合而不是数组。