【发布时间】:2010-11-09 03:23:56
【问题描述】:
我有一个二维锯齿状数组(尽管它总是矩形),我使用传统循环对其进行初始化:
var myArr = new double[rowCount][];
for (int i = 0; i < rowCount; i++) {
myArr[i] = new double[colCount];
}
我想也许一些 LINQ 函数会给我一种优雅的方式来在一个语句中执行此操作。但是,我能想到的最接近的是:
double[][] myArr = Enumerable.Repeat(new double[colCount], rowCount).ToArray();
问题在于它似乎正在创建一个 double[colCount] 并分配对该 intsead 的引用,即为每一行分配一个新数组。有没有办法做到这一点而不会太神秘?
【问题讨论】:
标签: c# linq arrays initialization jagged-arrays