如果是new List<int>()之类的值类型,则会新建一个List,把原来List中的值都复制一遍加入到新的List中。
如果是new List<object>()之类的引用类型,则会新建一个List,不复制原来List中对象并直接把他们加入到新的List中。可以这样认为,这些Object同时是两个List中的节点。
复制的话不妨先用CopyTo()方法,复制到数组;再用AddRange()方法添加到新的List中。
本文探讨了在C#中使用newList<int>()和newList<object>()创建List的不同之处,解释了值类型和引用类型的复制行为,并提供了一种通过CopyTo()和AddRange()方法来实现List复制的有效方式。
如果是new List<int>()之类的值类型,则会新建一个List,把原来List中的值都复制一遍加入到新的List中。
如果是new List<object>()之类的引用类型,则会新建一个List,不复制原来List中对象并直接把他们加入到新的List中。可以这样认为,这些Object同时是两个List中的节点。
复制的话不妨先用CopyTo()方法,复制到数组;再用AddRange()方法添加到新的List中。
1603

被折叠的 条评论
为什么被折叠?