方案
我有一个包含106091个自定义对象的tableView
。每个对象都有一个字符串属性,包含6个字符或9个字符。几乎有100000个对象的字符串属性长度为	 9'字符和剩余的6091个对象的长度为' 6'。这些字符串是用字符串变量写的:
List
最终将绑定到DataGridColumn。
问题
但问题是它在循环中的某些地方失败了,我的代码会冻结而不会落入catch块。
问题
我怎么能优雅地过来呢? string IMDVals = string.Empty;
foreach (Var Imd in Obj.Imds)
{
if (i < 50000)
IMDVals += Imd.ImdValue + ", ";
}
怎么样?
除了看起来,上面的字符串是巨大的,但不是它应该打破代码!不是吗?
答案 0 :(得分:4)
您正以疯狂的速度创建和删除字符串。垃圾收集很可能是你最大的问题。
您可以使用后面使用StringBuilder
的{{1}}或string.Join
来防止过多的垃圾回收:
StringBuilder
或者:
string IMDVals = string.Join(",", Obj.Imds);