我有一个二维锯齿状数组(尽管它总是矩形),我使用传统循环对其进行初始化:
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 的引用。有没有办法做到这一点而不会太神秘?