创建单独的备份列表<string>

时间:2016-05-01 09:24:20

标签: c# .net linq list

我需要创建List<String>

的备份副本
OrgList=new List<string>();
//populating OrgList
ListBackup = new List<string>(OrgList);

ListBackup是否作为单独的实体保留,或OrgList中的更改是否自动反映在ListBackup中

1 个答案:

答案 0 :(得分:2)

ListBackup = new List<string>(OrgList);

调用List<T>(IEnumerable<T> collection)构造函数,所以 你会得到一个全新的清单。

由于string 不可变,因此无法通过OrgList显示对ListBackup的更改。但是,这不是一个深刻的副本;如果你对一组可变对象做同样的事情,OrgList中对象的修改也会在ListBackup中显示。

您可以致电AsReadOnly()

制作列表的只读视图
ListView = OrgList.AsReadOnly();

现在,对OrgList的任何更改也会反映在ListView