【发布时间】:2018-02-13 08:25:12
【问题描述】:
我在 C# 中有这段代码:
//newrow is contained in Datatable Data
//Selected _Rows is a List<DataRow>
Selected_Rows.Add(newrow);
.
. //Do stuff
.
foreach (DataRow row in Selected_Rows.ToArray())
{
...
//This action also removes row from Selected_Rows. ???
Data.Rows.Remove(row);
...
}
我不明白为什么从DataTable 中删除该行也会将其从列表中删除。实际上,我需要在foreach 循环中使用Selected_Rows.ToArray() 以避免在迭代时修改列表。
【问题讨论】:
-
在此处显示您选择的行结构。
-
构造是
private List<DataRow> Selected_Rows = new List<DataRow>();它从未分配给Data.Rows。它们是不同的对象 -
如果您能提供minimal reproducible example,那就太好了。