C# ArrayList - CopyTo() 方法

C# ArrayList CopyTo() 方法用于将 ArrayList 中的元素复制到一维数组中。

此方法在使用常规数组而非 ArrayList 时非常有用。

语法

以下是 C# ArrayList CopyTo() 方法的语法 -

它将 ArrayList 中的所有项目复制到目标数组,从目标数组的开头开始。

public void CopyTo(Array array);

它将 ArrayList 中的所有项目复制到指定数组,从目标数组中的指定位置开始。

public void CopyTo(Array array, int index);

它将 ArrayList 中从指定索引开始的给定数量的项目复制到指定数组,从目标数组中的定义位置开始。

public void CopyTo(int index, Array array, int arrayIndex, int count);

参数

此方法根据所有重载语法接受以下参数 -

  • array:一个一维目标数组,ArrayList 的元素将被复制到该数组中。
  • index:目标数组中复制开始位置的索引。
  • arrayIndex:目标数组中从零开始的索引,存储开始位置。
  • count:要复制的元素数量。

返回值

此方法不返回任何值。它是 void 类型。

示例 1:使用 CopyTo(Array array)

以下是使用 CopyTo() 方法将 ArrayList 中的项目复制到一维数组的基本示例 -

    
using System;
using System.Collections;
class Program
{
   static void Main()
   {
      // 创建一个 ArrayList
      ArrayList arrayList = new ArrayList { "A", "B", "C", "D" };
      // 创建目标数组
      string[] array = new string[arrayList.Count];

      arrayList.CopyTo(array);
      Console.WriteLine("Target Array: " + string.Join(", ", array));
   }
}

输出

以下是输出 -

Target Array: A, B, C, D

示例 2:使用 CopyTo(Array array, int index)

让我们看另一个 CopyTo 方法的示例。在这里,我们将 ArrayList 中的所有项目复制到指定数组,从目标数组中的指定位置开始 -

using System;
using System.Collections;

class Program
{
   static void Main()
   {
      // 创建一个 ArrayList
      ArrayList arrayList = new ArrayList { 1, 2, 3, 4 };

      int[] array = new int[6];

      // 从索引 2 开始将元素复制到目标数组
      arrayList.CopyTo(array, 2);
      Console.WriteLine("Target Array: " + string.Join(", ", array));
   }
}

输出

以下是输出 -

Target Array: 0, 0, 1, 2, 3, 4

示例 3:使用 CopyTo(int index, Array array, int arrayIndex, int count)

这是 CopyTo() 方法的另一个版本。在这里,我们将 ArrayList 中从指定索引开始的指定数量的项目复制到目标数组中从定义的位置开始的指定数组中 -

using System;
using System.Collections;

class Program
{
   static void Main()
   {
        // 创建一个 ArrayList
        ArrayList arrayList = new ArrayList { "A", "Y", "M", "W" };
        
        // 目标数组
        string[] array = new string[5];
        
        // 将 ArrayList 中从索引 1 开始的 2 个元素复制到
        // 目标数组中从索引 2 开始的元素
        arrayList.CopyTo(1, array, 2, 2);

      	Console.WriteLine("Target Array: " + string.Join(", ", array));
   }
}

输出

以下是输出 -

Target Array: , , Y, M,

示例 4:复制 ArrayList 中一维数组的项目

以下示例使用 CopyTo 方法将 ArrayList 中的元素复制到一维数组。然后我们使用 for-each 循环显示目标数组 -

using System;
using System.Collections;

class Demo
{
   static void Main()
   {
      ArrayList arrayList = new ArrayList { "Red", "Blue", "Green", "yellow" };

      // 创建一个具有足够大小的目标数组来保存元素
      string[] tArray = new string[arrayList.Count];

      arrayList.CopyTo(tArray);

      Console.WriteLine("Elements in the target array:");
      foreach (string color in tArray)
      {
         Console.WriteLine(color);
      }
   }
}

输出

以下是输出 -

Elements in the target array:
Red
Blue
Green
yellow

csharp_arraylist.html