C#中System.Array.CopyTo() 和 System.Array.Clon() 的区别

  目录

  和 是用于数组复制的两种不同方法,它们在实现和用途上有一些区别。

  System.Array.CopyTo() 方法:

  方法用于将数组的元素复制到另一个数组。它是 类的实例方法,可以用于复制一个数组的内容到另一个数组,前提是目标数组具有足够的空间来容纳源数组的元素。

  示例:

  using System;

  class Program

  {

  static void Main()

  {

  int[] sourceArray = { 1, 2, 3, 4, 5 };

  int[] destinationArray = new int[5];

  // 使用 CopyTo() 方法复制数组

  sourceArray.CopyTo(destinationArray, 0);

  // 输出目标数组

  Console.WriteLine("Destination Array:");

  foreach (int num in destinationArray)

  {

  Console.Write(num + " ");

  }

  }

  }

  System.Array.Clone() 方法:

  方法用于创建当前数组的浅表副本。它是 类的实例方法,返回一个新数组,该数组是原始数组的浅表副本。浅表副本意味着数组元素本身被复制,但如果数组包含引用类型的元素(如对象),则引用仍然指向相同的对象。

  示例:

  using System;

  class Program

  {

  static void Main()

  {

  int[] sourceArray = { 1, 2, 3, 4, 5 };

  // 使用 Clone() 方法创建数组的浅表副本

  int[] clonedArray = (int[])sourceArray.Clone();

  // 修改源数组的一个元素

  sourceArray[0] = 10;

  // 输出两个数组

  Console.WriteLine("Source Array:");

  foreach (int num in sourceArray)

  {

  Console.Write(num + " ");

  }

  Console.WriteLine("

  Cloned Array:");

  foreach (int num in clonedArray)

  {

  Console.Write(num + " ");

  }

  }

  }

  二者都是用于复制数组的方法,但它们有一些区别:

  System.Array.CopyTo():

  方法签名:void CopyTo(Array array, int index)

  功能:将当前数组的所有元素复制到另一个数组中。

  参数:

  返回值:无

  注意事项:

  目标数组必须具有足够的空间来容纳当前数组的所有元素,否则会引发异常。

  复制操作会从当前数组的第一个元素开始,按顺序复制到目标数组中。

  System.Array.Clone():

  返回值:返回一个新的数组对象,该对象是当前数组的浅表副本。

  注意事项:

  总结:

  到此这篇关于C#中System.Array.CopyTo() 和 System.Array.Clon() 的区别的文章就介绍到这了,更多相关C# System.Array.CopyTo() 和 System.Array.Clon() 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

  您可能感兴趣的文章: