我知道这个问题以前已经被讨论过,但从我在文章中的理解来看,这应该是可行的。
示例代码:
我有一个自定义类型:
public class MyType
{
public List<MySubType> Movie { get; set; }
public List<int> Ranks { get; set; }
public string Location { get; set; }
public string Released { get; set; }
}
我随后创建了一个这种类型的列表。
List<MyType> myMovies = new List<MyType>();
在代码的后面,我需要创建这个列表的副本并对其进行更改,而不会影响原始列表。
List<MyType> copyMovies = new List<MyType>(myMovies);
但是现在,如果我从copyMovies列表中删除
copyMovies.Movie.RemoveAt(x);
它从两个列表中都移除
除非我完全错过了什么,这篇文章表明我应该能够更改副本列表而不影响原始列表。
new List<MyType>(myMovies)
应该创建一个包含相同元素的新列表。你的问题似乎与这个问题无关。 - AvishcopyMovies = myMovies;
。 - Sriram Sakthivel