using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
// 创建一个包含一些整数的列表
List<int> originalList = new List<int> { 1, 2, 3, 4, 5 };
// 方法1: 使用 Clone 方法进行浅复制
List<int> shallowCopyList = (List<int>)originalList.Clone();
// 方法2: 使用 AddRange 方法进行复制
List<int> copyListUsingAddRange = new List<int>();
copyListUsingAddRange.AddRange(originalList);
// 方法3: 使用构造函数进行复制
List<int> copyListUsingConstructor = new List<int>(originalList);
// 输出原始列表和复制后的列表,以验证它们是否相同
Console.WriteLine("Original List: " + String.Join(", ", originalList));
Console.WriteLine("Shallow Copy List: " + String.Join(", ", shallowCopyList));
Console.WriteLine("Copy List Using AddRange: " + String.Join(", ", copyListUsingAddRange));
Console.WriteLine("Copy List Using Constructor: " + String.Join(", ", copyListUsingConstructor));
}
}
Clone()
方法创建了一个浅复制(shallow copy),即它只复制了引用类型对象的引用,而不是实际的对象。对于值类型(如 int
),这实际上是一个深复制。AddRange()
方法将一个集合的所有元素添加到另一个集合中。这种方式也实现了列表的复制。List<T>
的构造函数并传递一个现有列表,可以创建一个新的列表副本。以上三种方法都可以用来复制 List<T>
,选择哪种方法取决于具体的需求和上下文。
上一篇:c#向下取整
下一篇:c# serializable
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站