SortedList.CopyTo(Array, Int32) Yöntem

Tanım

SortedList Dizideki belirtilen dizinden başlayarak öğeleri tek boyutlu Array bir nesneye kopyalar.

public:
 virtual void CopyTo(Array ^ array, int arrayIndex);
public virtual void CopyTo(Array array, int arrayIndex);
abstract member CopyTo : Array * int -> unit
override this.CopyTo : Array * int -> unit
Public Overridable Sub CopyTo (array As Array, arrayIndex As Integer)

Parametreler

array
Array

öğesinden Arraykopyalanan nesnelerin hedefi DictionaryEntry olan tek boyutlu SortedList nesne. sıfır Array tabanlı dizine sahip olmalıdır.

arrayIndex
Int32

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

Uygulamalar

Özel durumlar

array, null'e eşittir.

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

array çok boyutludur.

-veya-

Kaynak SortedList nesnedeki öğe sayısı, hedef arrayIndexöğesinin sonuna kadar olan kullanılabilir alandan array büyüktür.

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

Örnekler

Aşağıdaki kod örneği, bir nesnedeki değerlerin tek boyutlu SortedList bir Array nesneye nasıl kopyalanmasını gösterir.

 using System;
 using System.Collections;
 public class SamplesSortedList  {

    public static void Main()  {

       // Creates and initializes the source SortedList.
       SortedList mySourceList = new SortedList();
       mySourceList.Add( 2, "cats" );
       mySourceList.Add( 3, "in" );
       mySourceList.Add( 1, "napping" );
       mySourceList.Add( 4, "the" );
       mySourceList.Add( 0, "three" );
       mySourceList.Add( 5, "barn" );

       // Creates and initializes the one-dimensional target Array.
       String[] tempArray = new String[] { "The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog" };
       DictionaryEntry[] myTargetArray = new DictionaryEntry[15];
       int i = 0;
       foreach ( string s in tempArray )  {
          myTargetArray[i].Key = i;
          myTargetArray[i].Value = s;
          i++;
       }

       // Displays the values of the target Array.
       Console.WriteLine( "The target Array contains the following (before and after copying):" );
       PrintValues( myTargetArray, ' ' );

       // Copies the entire source SortedList to the target SortedList, starting at index 6.
       mySourceList.CopyTo( myTargetArray, 6 );

       // Displays the values of the target Array.
       PrintValues( myTargetArray, ' ' );
    }

    public static void PrintValues( DictionaryEntry[] myArr, char mySeparator )  {
       for ( int i = 0; i < myArr.Length; i++ )
          Console.Write( "{0}{1}", mySeparator, myArr[i].Value );
       Console.WriteLine();
    }
 }


/*
This code produces the following output.

The target Array contains the following (before and after copying):
 The quick brown fox jumps over the lazy dog
 The quick brown fox jumps over three napping cats in the barn

*/
Imports System.Collections

Public Class SamplesSortedList

   Public Shared Sub Main()

      ' Creates and initializes the source SortedList.
      Dim mySourceList As New SortedList()
      mySourceList.Add(2, "cats")
      mySourceList.Add(3, "in")
      mySourceList.Add(1, "napping")
      mySourceList.Add(4, "the")
      mySourceList.Add(0, "three")
      mySourceList.Add(5, "barn")

      ' Creates and initializes the one-dimensional target Array.
      Dim tempArray() As String = {"The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog"}
      Dim myTargetArray(14) As DictionaryEntry
      Dim i As Integer = 0
      Dim s As String
      For Each s In  tempArray
         myTargetArray(i).Key = i
         myTargetArray(i).Value = s
         i += 1
      Next s

      ' Displays the values of the target Array.
      Console.WriteLine("The target Array contains the following (before and after copying):")
      PrintValues(myTargetArray, " "c)

      ' Copies the entire source SortedList to the target SortedList, starting at index 6.
      mySourceList.CopyTo(myTargetArray, 6)

      ' Displays the values of the target Array.
      PrintValues(myTargetArray, " "c)

   End Sub


   Public Shared Sub PrintValues(myArr() As DictionaryEntry, mySeparator As Char)
      Dim i As Integer
      For i = 0 To myArr.Length - 1
         Console.Write("{0}{1}", mySeparator, myArr(i).Value)
      Next i
      Console.WriteLine()
  End Sub

End Class


'This code produces the following output.
' 
'The target Array contains the following (before and after copying):
' The quick brown fox jumps over the lazy dog      
' The quick brown fox jumps over three napping cats in the barn

Açıklamalar

Anahtar/değer çiftleri, numaralandırıcının Array nesne üzerinden yinelendiği sırada nesneye SortedList kopyalanır.

Yalnızca içindeki SortedListanahtarları kopyalamak için kullanın SortedList.Keys.CopyTo.

Yalnızca içindeki SortedListdeğerleri kopyalamak için kullanın SortedList.Values.CopyTo.

Bu yöntem, burada olan O(n) bir n işlemdirCount.

Şunlara uygulanır

Ayrıca bkz.