我的列表视图中有6153个行数据。
此行在428行之后获取“ System.StackOverflowException”。
if (root.ListView.Items != null && !root.ListView.SelectedItems.Contains(root.ListView.Items[index]))
{
ObservableCollection[index].Status = "Passed";
index++;
DownloadList();//for recursive
return;
}
ListView的来源为ObservableCollection<>
这个问题是什么原因造成的?通常,代码可以正常工作
答案 0 :(得分:0)
您似乎正在使用递归遍历列表视图。
会
while(root.ListView.Items != null
&& !root.ListView.SelectedItems.Contains(root.ListView.Items[index]){
ObservableCollection[index].Status = "Passed";
index++;
}
return;
不起作用?如果您执行上述操作,那么您将制作6000多个堆栈帧,并且每块1 MB,您正在快速消耗内存,并且似乎不需要递归允许的状态