私はそうしようとしました:
rotation[0] = new double[3][];
for (int i = 0; i < 3; i++)
{
rotation[0][i] = new double[3];
}
しかし、それは機能しません。
rotation
それがあなたのものであると仮定するとList<double[][]>
、あなたはこのようにそれを行うことができます:
var tmp = new double[3][];
for (int i = 0; i < 3; i++) {
tmp[i] = new double[3];
}
rotation.Add(tmp);
LINQを使用してそれを行うこともできます。
rotation.Add(Enumerable.Range(0, 3).Select(i => new double[3]).ToArray());
double
上記の両方のフラグメントは、 sの単一の3x3配列をに追加しList<double[][]>
ます。
3つのアイテムのリストが必要な場合は、次のように実行できます。
List<double[][]> rotation = new List<double[][]>();
for (int r = 0 ; r != 3 ; r++) {
var tmp = new double[3][];
for (int i = 0; i < 3; i++) {
tmp[i] = new double[3];
}
rotation.Add(tmp);
}
また
List<double[][]> rotation = new List<double[][]>();
for (int r = 0 ; r != 3 ; r++) {
rotation.Add(Enumerable.Range(0, 3).Select(i => new double[3]).ToArray());
}
あるいは
var rotation = Enumerable
.Range(0, 3)
.Select(r => Enumerable.Range(0, 3).Select(i => new double[3]).ToArray());