数组克隆的原理是通过创建一个新数组,并将原数组的元素复制到新数组中。不同的方法实现这一过程的细节可能有所不同。
Array.Clone 方法
Array.Clone
方法创建原数组的浅表副本。Array.Copy 方法
Array.Copy
方法复制原数组的元素到新数组。LINQ ToArray 方法
ToArray
方法生成原数组的新实例。Array.Clone 方法
Array.Clone
方法获取原数组的浅表副本。Array.Copy 方法
Array.Copy
方法复制原数组的元素到新数组。LINQ ToArray 方法
ToArray
方法将原数组转换为新数组。using System;
class Program
{
static void Main()
{
// 示例数组
int[] originalArray = { 1, 2, 3, 4, 5 };
// 方法 1: Array.Clone
int[] clonedArray1 = (int[])originalArray.Clone();
// 方法 2: Array.Copy
int[] clonedArray2 = new int[originalArray.Length];
Array.Copy(originalArray, clonedArray2, originalArray.Length);
// 方法 3: LINQ ToArray
int[] clonedArray3 = originalArray.ToArray();
// 打印结果
PrintArray("Original Array", originalArray);
PrintArray("Cloned Array 1", clonedArray1);
PrintArray("Cloned Array 2", clonedArray2);
PrintArray("Cloned Array 3", clonedArray3);
}
// 打印数组
static void PrintArray(string label, int[] array)
{
Console.WriteLine($"{label}: [{string.Join(", ", array)}]");
}
}
Array.Clone 方法
Array.Copy 方法
LINQ ToArray 方法
ToArray
方法时,注意要导入 System.Linq
命名空间,适用于支持 LINQ 的场景。不同的数组克隆方法适用于不同的场景,开发者可以根据需求选择合适的方法。Array.Clone
适用于简单的浅表副本,Array.Copy
提供更多控制,而 LINQ 的 ToArray
方法则适用于支持 LINQ 的场景。在使用时,应根据元素类型、复制的控制需求和性能等方面进行权衡。