System.Collections.Specialized.StringCollection.CopyTo 方法

方法描述

从目标数组的指定索引处开始,将全部 StringCollection 值复制到一维字符串数组中。

语法定义(C# System.Collections.Specialized.StringCollection.CopyTo 方法 的用法)

public void CopyTo(
	string[] array,
	int index
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
array System-String[] 一维字符串数组,用作从 StringCollection 复制元素的目标数组。Array 必须具有从零开始的索引。
index System-Int32 array 中从零开始的索引,从此索引处开始进行复制。
返回值 void

提示和注释

指定的数组必须是兼容类型的数组。

元素将按照 StringCollection 的枚举数循环访问 StringCollection 的相同顺序复制到 Array 中。

此方法的运算复杂度为 O(n),其中 n 是 Count。

System.Collections.Specialized.StringCollection.CopyTo 方法例子

下面的代码示例将 StringCollection 复制到数组。

using System;
using System.Collections;
using System.Collections.Specialized;

public class SamplesStringCollection  {

   public static void Main()  {

      // Creates and initializes a new StringCollection.
      StringCollection myCol = new StringCollection();
      String[] myArr = new String[] { "RED", "orange", "yellow", "RED", "green", "blue", "RED", "indigo", "violet", "RED" };
      myCol.AddRange( myArr );

      Console.WriteLine( "Initial contents of the StringCollection:" );
      PrintValues( myCol );

      // Copies the collection to a new array starting at index 0.
      String[] myArr2 = new String[myCol.Count];
      myCol.CopyTo( myArr2, 0 );

      Console.WriteLine( "The new array contains:" );
      for ( int i = 0; i < myArr2.Length; i++ )  {
         Console.WriteLine( "   [{0}] {1}", i, myArr2[i] );
      }
      Console.WriteLine();

   }

   public static void PrintValues( IEnumerable myCol )  {
      foreach ( Object obj in myCol )
         Console.WriteLine( "   {0}", obj );
      Console.WriteLine();
   }

}

/*
This code produces the following output.

Initial contents of the StringCollection:
   RED
   orange
   yellow
   RED
   green
   blue
   RED
   indigo
   violet
   RED

The new array contains:
   [0] RED
   [1] orange
   [2] yellow
   [3] RED
   [4] green
   [5] blue
   [6] RED
   [7] indigo
   [8] violet
   [9] RED

*/

异常

异常 异常描述
ArgumentNullException array 为 null。
ArgumentOutOfRangeException index 小于零。
ArgumentException
  • array 是多维的。
  • 源 StringCollection 中的元素数大于从 index 到目标 array 结尾处之间的可用空间。
InvalidCastException 源 StringCollection 的类型无法自动转换为目标 array 的类型。

命名空间

namespace: System.Collections.Specialized

程序集: System(在 System.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。