可以';我找不到错误.该值会自发地发生变化

本文关键字:变化 错误 找不到 可以 | 更新日期: 2023-09-27 18:28:38

这是代码

for (j = 0; j < n_sign; j++)
{
    line = new List<double>();
    for (i = 0; i < n_vec; i++)
    {
        if (data_gap[i][j] != gap)
            line.Add(data_gap[i][j]);
        else
        {
            grad.Add(0);
            List<int> point = new List<int>();
            point.Add(i);
            point.Add(j);
            gaps.Add(point);
        }
    }
    List<double> mm = new List<double>();
    mm.Add(line.Min());
    mm.Add(line.Max());
    minmax.Add(mm);
    for (i = 0; i < n_vec; i++)
    {
        if (data_gap[i][j] == gap)
            data[i][j] = line[rand.Next(line.Count)];
    }
}

我不明白,为什么在这个函数之后,data_gap的值会变成data的值!data_gap是这样创建的

data_gap = new List<List<double>>(data);

所以它似乎是一个独特的物体。。。

可以';我找不到错误.该值会自发地发生变化

data_gap包含与data相同的内部列表
您还需要复制每个内部列表。