c#中的值对话

本文关键字:对话 | 更新日期: 2023-09-27 18:14:46

我想把datatable的一个col值分配给相同datatable的另一个col值如:

objdt.Rows[i]["mr_discrepancy_cd1s"].ToString()=objdt.Rows[i["mr_discrepancy_cd1"].ToString();

我怎么能这样做?

c#中的值对话

我们可以使用序数属性从DataTable的列中获取索引,我们可以替换如下值:

objdt.Rows[i][objdt.Columns["ColumnName"].Ordinal] = objdt.Rows[i][objdt.Columns["ColumnName"].Ordinal]

objdt.Rows[i][objdt.Columns[objdt.Columns[1].ColumnName].Ordinal] =
                    objdt.Rows[i][objdt.Columns[objdt.Columns[2].ColumnName].Ordinal]

试试这个

objdt.Rows[i]["mr_discrepancy_cd1s"] =objdt.Rows[i]["mr_discrepancy_cd1"];

不要使用ToString,它会将每个值转换为字符串,即使它之前不是字符串。这会改变类型,甚至改变数据。如果数据row中的列是null,它也会爆炸。

使用强类型的Field扩展方法,它也支持可空对象。

在这种情况下假设它确实是string:

DataRow row = objdt.Rows[i];
string mr_discrepancy_cd1 = row.Field<string>("mr_discrepancy_cd1");
row.SetField("mr_discrepancy_cd1s", mr_discrepancy_cd1);