双打数组
如何修复此代码以填充阵列x,双打从1.0
到15.0
?双打数组
int temp = 15;
string[] titles = new string[] { "Alpha", "Beta", "Gamma", "Delta" };
List<double[]> x = new List<double[]>();
for (int i = 0; i < titles.Length; i++)
{
for (int j = 0; j < temp; j++)
{
x.Add[i][j]((double) j);
}
}
如果上述回答我的问题是“是”,那么这里是一个答案:
int temp = 15;
string[] titles = new string[] { "Alpha", "Beta", "Gamma", "Delta" };
List<double[]> x = new List<double[]>();
for (int i = 0; i < titles.Length; i++)
{
double[] test = new double[15];
for (int j = 1; j <= temp; j++)
{
test[j-1] = j;
}
x.Add(test);
}
'时丢失'单行是很常见的。你需要改变'test [j] = j + 1;' – Reniuz
@Reniuz我已经修复了这个问题。 – mydogisbox
现在编号'test [0]'等于'0'。你需要'for(int j = 0; j
int temp = 15;
string[] titles = new string[] { "Alpha", "Beta", "Gamma", "Delta" };
List<double[]> x = new List<double[]>();
for (int i = 0; i < titles.Length; i++)
{
double[] y = new double[temp];
for (int j = 0; j < temp; j++)
{
y[j] = j + 1;
}
x.Add(y);
}
作为一个说明,x
可能是一个Array
。
或者,您可能并不需要的List
double
。你可以简单地使用double[]
的锯齿阵列。
int temp = 15;
string[] titles = new string[] { "Alpha", "Beta", "Gamma", "Delta" };
double[][] x = new double[titles.Length][];
for (int i = 0; i < titles.Length; i++)
{
double[] y = new double[temp];
for (int j = 0; j < temp; j++)
{
y[j] = j + 1;
}
x[i] = y;
}
我认为在将数组放入另一个数组之前,最好修改它,否则你正在修改已经传递给别的东西。 – mydogisbox
@mydogisbox至少你别忘了把它复制到别的地方!当这个代码使用0..14填充测试时,在接近这个大的'' – xanatos
这不回答你的问题,但你可以改变法官在以翻番的类型以避免不得不将它投掷到双倍。 – mydogisbox
我不确定你的意思是“数组x”。 x目前是一个列表。你的意思是你想要填充每个x [0]到x [3],每个数组包含1.0到15.0? – mydogisbox
小备注:你从0..14运行你的for循环,你想要插入的值是j + 1,而不是j –