【发布时间】:2013-11-20 11:42:36
【问题描述】:
我有一个字典,其中 RFile 是一个类,该字典包含将在列表视图中显示的所有数据。
问题是这样的:程序将使用从关联的 listViewItem 获得的键从字典中获取 RFile 类,然后将其添加到 ArrayList
ArrayList Files = new ArrayList();
Foreach (ListViewItem lvi in LV.Groups[1].Items)
{
Files.Add(Dict[lvi.tag]);
}
然后 ArrayList 中的 Files 由 VALUE(没有将 Ref 放在方法标识符中)发送到一个方法,该方法将处理它们并对 Files ArrayList 中的条目进行一些更改,但是这些更改也适用于原始字典(而且我的值没有改变)
我只知道我不会通过引用传递任何数据,除非使用键从字典中获取值是通过引用完成的。
提前谢谢大家。
【问题讨论】:
-
当您执行
Files.Add(Dict[lvi.tag])时,您实际上只是在字典中添加对与lvi.tag关联的对象的引用。如果您不想传播更改,则必须复制该对象。
标签: c# dictionary arraylist