c#-使用并行。带有DataTable的ForEach引发对象引用异常
发布时间:2022-07-07 21:42:55 228
相关标签: # flask
我的项目中有这个代码。它会进行一些cpu处理,所以为了加快速度,我尝试使用并行。ForEach。
出于某种原因,并行执行添加了一个空项,这导致程序后期出现“对象引用未设置为对象实例”异常。
**它不应该添加null
工作代码
foreach (DataRow datarow in dataSet.Tables[0].Rows)
{
var item = new T();
for (int i = 0; i < datarow.Table.Columns.Count; i++)
{
var columnName = datarow.Table.Columns[i].ColumnName;
var columnValue = datarow[i];
// set new object values
// use reflection logic to grab values
}
finalList.add(item);
}
错误代码
List list = dataSet.Tables[0].AsEnumerable().ToList();
Parallel.ForEach(list, datarow =>
{
var item = new T();
for (int i = 0; i < datarow.Table.Columns.Count; i++)
{
var columnName = datarow.Table.Columns[i].ColumnName;
var columnValue = datarow[i];
// set new object values
// use reflection logic to grab values
}
finalList.add(item);
}
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报