C# 尝试修改DataTable列表时重复

C# 尝试修改DataTable列表时重复,c#,list,datatable,C#,List,Datatable,我目前正在处理DataTable列表。我想从列表中获取最后一项,对其进行修改,并将其作为新项添加到列表中。当我从tblSol获取所有值时,列表中的所有项目都具有相同的值。我哪里出错了 List<DataTable> tblsol = new List<DataTable>(); int itr = 1; //some code to iterate these 3 lines below DataTable now = tblsol.Last(); //some

我目前正在处理DataTable列表。我想从列表中获取最后一项,对其进行修改,并将其作为新项添加到列表中。当我从
tblSol
获取所有值时,列表中的所有项目都具有相同的值。我哪里出错了

List<DataTable> tblsol = new List<DataTable>();
    int itr = 1;

//some code to iterate these 3 lines below
DataTable now = tblsol.Last();
//some code here to modify now
addToList(now);

private void addToList(DataTable dt)
    {
        DataTable temp = new DataTable();
        temp = dt;
        tblsol.Add(temp);
        listBox1.Items.Add("Iterasi" + itr);
        itr++;
    }
List tblsol=new List();
int-itr=1;
//下面是一些迭代这3行的代码
DataTable now=tblsol.Last();
//这里有一些代码需要修改
addToList(现在);
专用无效添加列表(数据表dt)
{
DataTable temp=新DataTable();
温度=dt;
tblsol.添加(温度);
列表框1.Items.Add(“Iterasi”+itr);
itr++;
}

如果您将一个
数据表
分配给另一个
数据表
,如果您需要相同的
数据表
,则两者将是相同的。您可以使用
数据表
复制
方法,然后添加到
列表

DataTable temp = new DataTable();
temp = dt.Copy();
tblsol.Add(temp);

您应该看看.NET中的值和引用类型