为了账号安全,请及时绑定邮箱和手机立即绑定

循环操作DataTable,出现OutOfMemoryException ,有没有好的解决方案

循环操作DataTable,出现OutOfMemoryException ,有没有好的解决方案

元芳怎么了 2018-12-07 02:48:10
一共13列,10万条数据,代码如下,运行10秒钟报OutOfMemoryException错误,谁能提供更好的解决方案? 1 StringBuilder sb = new StringBuilder(); 2 //0:出错消息,1:出错行 3 for (int i = 0; i < desTable.Rows.Count; i++) 4 { 5 6 DataRow row = messTable.NewRow(); 7 foreach (string item in emptyValidStr) 8 { 9 if (string.IsNullOrEmpty(desTable.Rows[i][item].ToString())) 10 { 11 sb.AppendFormat("{0}不能为空|", item); 12 flag = false; 13 continue; 14 } 15 if (item == "CardCode") 16 { 17 if (!Regex.IsMatch(desTable.Rows[i][item].ToString(), CardCode)) 18 { 19 sb.AppendFormat("{0}格式不正确|", item); 20 } 21 flag = false; 22 continue; 23 } 24 if (item == "VINCode") 25 { 26 if (!Regex.IsMatch(desTable.Rows[i][item].ToString(), VINCode)) 27 { 28 sb.AppendFormat("{0}格式不正确|", item); 29 } 30 flag = false; 31 continue; 32 } 33 } 34 35 if (flag == false) 36 { 37 row[0] = sb.ToString(); 38 row[1] = i + 1; 39 errTable.Rows.Add(souTable.Rows[i].ItemArray); 40 desTable.Rows.RemoveAt(i); 41 } 42 }
查看完整描述

3 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

内存溢出

 

在内存里遍历10W条数据,楼主V5 啊

查看完整回答
反对 回复 2019-01-21
  • 3 回答
  • 0 关注
  • 602 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信