StringCollection.CopyTo(String[], Int32) Yöntem

Tanım

Değerlerin tamamını StringCollection , hedef dizinin belirtilen dizininden başlayarak tek boyutlu bir dize dizisine kopyalar.

public:
 void CopyTo(cli::array <System::String ^> ^ array, int index);
public void CopyTo(string[] array, int index);
public void CopyTo(string?[] array, int index);
member this.CopyTo : string[] * int -> unit
Public Sub CopyTo (array As String(), index As Integer)

Parametreler

array
String[]

öğesinden StringCollectionkopyalanan öğelerin hedefi olan tek boyutlu dize dizisi. sıfır Array tabanlı dizine sahip olmalıdır.

index
Int32

Kopyalamanın başladığı sıfır tabanlı dizin array .

Özel durumlar

array, null'e eşittir.

index, sıfırdan küçüktür.

array çok boyutludur.

-veya-

Kaynaktaki StringCollection öğe sayısı, hedef indexalanının sonuna kadar olan kullanılabilir alandan array büyüktür.

Kaynağın StringCollection türü, hedef arraytürüne otomatik olarak atılamaz.

Örnekler

Aşağıdaki kod örneği bir StringCollection diziye kopyalar.

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

*/
Imports System.Collections
Imports System.Collections.Specialized

Public Class SamplesStringCollection   

   Public Shared Sub Main()

      ' Creates and initializes a new StringCollection.
      Dim myCol As New StringCollection()
      Dim myArr() As [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.
      Dim myArr2(myCol.Count) As [String]
      myCol.CopyTo(myArr2, 0)

      Console.WriteLine("The new array contains:")
      Dim i As Integer
      For i = 0 To myArr2.Length - 1
         Console.WriteLine("   [{0}] {1}", i, myArr2(i))
      Next i
      Console.WriteLine()

   End Sub

   Public Shared Sub PrintValues(myCol As IEnumerable)
      Dim obj As [Object]
      For Each obj In  myCol
         Console.WriteLine("   {0}", obj)
      Next obj
      Console.WriteLine()
   End Sub

End Class


'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
'

Açıklamalar

Belirtilen dizi uyumlu bir türde olmalıdır.

Öğeler öğesine, yineleyicisinin Array aracılığıyla StringCollectionyinelendiği sırayla kopyalanırStringCollection.

Bu yöntem bir O(n) işlemidir; burada n olur Count.

Şunlara uygulanır

Ayrıca bkz.