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();
我怎么能这样做?
我们可以使用序数属性从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);