【发布时间】:2012-07-25 19:04:29
【问题描述】:
我认为这个问题与Reference Types有关,而我对这些缺乏了解......
所以我动态创建了 ASP.Net 表(如在 Web.UI.WebControls.Table 中,而不是数据库种类) 这些可以有任何内容,从一个带有文本的单元格的一行到一系列嵌套的表格和控件,具体取决于客户端。
我需要遍历每个 TableRow,如果满足某个条件,那么我将该行复制到第二个 Table 对象。这是一段简化的代码。
Table xTblComplete = (passed in as parameter) // original & complete table
Table xTblTemp = new Table(); // gets built dynamically with specific rows
foreach (TableRow xThisRow in xTblComplete.Rows)
{
if (xThisRow.Cells.Count > 0)
{
if (certain condition met)
{
xTblTemp.Rows.Add(xThisRow);
}
}
}
我遇到困难的是,当我尝试将 TableRow 添加到 Table2 时,foreach(table.rows 中的行)会引发错误。我收到错误“集合已修改;枚举操作可能无法执行。” 这是有道理的,因为我应该复制那个表格行来添加。
谁能建议这是如何完成的?我已经扫描了 MSDN 和论坛中的一般引用类型复制,但它们似乎都指向使用 ICloneable ,我相信我无法这样做,因为这不是我的课程。
希望这是我错过的一些小而基本的东西,在此先感谢。
【问题讨论】: