对不起,如果这个问题看起来很愚蠢,但实际上我尝试了对象(我是对象编程的新手,所以很可能并非如此)。
这里的交易:我有一个由一个数组组成的类(以及其他无用的东西):
public class DataColumn
{
private string nome_colonna;
public string Nome_colonna
{
get { return nome_colonna; }
set { nome_colonna = value; }
}
private double[] dato;
public double[] Dato
{
get { return dato; }
set { dato = value; }
}
}
我使用它来构建这样的元素列表:
public class LogDati
{
public List<DataColumn> DataColumns;
public LogDati()
{
DataColumns = new List<DataColumn>();
}
}
之后我在我的代码中声明它:
public LogDati ld = new LogDati();
我填写了一些无用的数据:
dc.Nome_colonna = values[kk].ToString();
ld.DataColumns.Add(dc);
当我到达“有用的部分”:)我遇到了一些问题:当我尝试在datacolumn类的列表ld中填充我的数据数组时,它会一遍又一遍地复制自己。
for (int kk = 0; kk < numLogColumns; kk++)
{
ld.DataColumns[kk].Dato[rowCounter] = Convert.ToDouble(values[kk]);
}
rowCounter++;
问题是该列表导致所有向量dato []彼此相等。
有人能指出我的原因吗? 谢谢你,请耐心等待,我是这个论坛和对象编程的新手,并随时指出任何建议。 祝你有美好的一天, 保罗
编辑1: 使用2D数组dbg,它正确地假设所需的值
ld.DataColumns[kk].Dato[rowCounter] = Convert.ToDouble(values[kk]);
dbg[kk, rowCounter] = Convert.ToDouble(values[kk]);