我有情况,我需要我的DataRows(字符串列)是HTMLEncoded。我们可以使用LINQ或任何其他方式一次更新DataRow的整个单元格吗?
基本上我想避免循环。
我有一个数据表oDt。 DataTable有以下列:id_season,season,modifiedon(date);
要保存此dataTable我有一个功能
Save Table(DataTable oDT){
//Here I have to update modifedon column to DateTime.now;
foreach(datarow dr in oDT.Rows)
{
dr[modifiedon] = DateTime.now;
}
// I need to avoid this loop as datatable can have 35000 + records
}
答案 0 :(得分:0)
你必须更新每个元素,所以无论如何你都在看O(n)时间。 在我的系统上,更新35,000个元素需要0.01到0.03秒,350,000个项目需要0.1到0.3秒等等。通过在循环外获取DateTime.Now的值,可以获得小的性能提升:
var now = DateTime.Now;
foreach(DataRow dr in oDT.Rows)
{
dr["ModifiedOn"] = now;
}