我有一个数据表,其中包含3列Column1, Column2
和Column3
数据.我可以使用以下代码清除单列值.
dtTable.Rows.OfType<DataRow>().
ToList().
ForEach(r => r["Column1"] = DBNull.Value);
Run Code Online (Sandbox Code Playgroud)
我需要清除同一数据表的两列; 有没有方法在同一行代码中指定两个列名?
不要ToList.ForEach
只是为了能够修改值.您正在创建一个完全多余的全新系列.相反,你只需要一个循环.
foreach(DataRow row in dtTable.Rows)
{
// presuming nullable int-columns
row.SetField<int?>("Column1", null);
row.SetField<int?>("Column2", null);
}
Run Code Online (Sandbox Code Playgroud)
该SetField
方法还支持可空类型."如果value为null,则SetField方法将null值转换为基础DataColumn中的Value."