如何创建 IEnumerable 的浅拷贝
本文关键字:浅拷贝 IEnumerable 何创建 创建 | 更新日期: 2023-09-27 18:36:05
我有一个 IEnumerable 对象为:
IEnumerable<string> listSelectedItems;
其中包含三个项目。现在我创建了一个新对象,并希望从 listSelectedItems 中获取所有项目,所以我编写了以下代码:
IEnumerable<string> newList = listSelectedItems;
但是现在当我更改newList时,ListSelectedItems也会更改。我怎样才能在没有引用的情况下更改或创建新的 IEnumerable。
你在找这个吗?
IEnumerable<string> newList = listSelectedItems.ToList();
IEnumerable是一个接口,所以你不能实例化它,你需要它的实现,例如List
IEnumerable<string> newList = new List<string>(listSelectedItems);
在您的情况下,设置newList = listSelectedItems
意味着newList
将只是对listSelectedItems
的引用,因此如果基础对象发生更改,newList
将引用更改的对象。