SortedList.CopyTo(Array, Int32) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
'den SortedListkopyalanan nesnelerin hedefi DictionaryEntry olan tek boyutlu Array nesne. sıfır Array tabanlı dizine sahip olmalıdır.
- arrayIndex
- Int32
array
içinde kopyalamanın başladığı sıfır tabanlı dizin.
Uygulamalar
Özel durumlar
array
, null
değeridir.
arrayIndex
, sıfırdan küçüktür.
array
çok boyutludur.
-veya-
Kaynak SortedList nesnedeki öğelerin sayısı, hedef array
öğesinin sonuna kadar olan kullanılabilir alandan arrayIndex
daha fazladır.
Kaynağın SortedList türü hedef türüne array
otomatik olarak atılamaz.
Örnekler
Aşağıdaki kod örneği, bir nesnedeki değerlerin tek boyutlu Array bir SortedList nesneye nasıl kopyalanmasını gösterir.
using namespace System;
using namespace System::Collections;
void PrintValues( array<DictionaryEntry>^ myArr, Char mySeparator );
int main()
{
// Creates and initializes the source SortedList.
SortedList^ mySourceList = gcnew 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.
array<String^>^tempArray = {"The","quick","brown","fox","jumps","over","the","lazy","dog"};
array<DictionaryEntry>^myTargetArray = gcnew array<DictionaryEntry>(15);
int i = 0;
IEnumerator^ myEnum = tempArray->GetEnumerator();
while ( myEnum->MoveNext() )
{
String^ s = safe_cast<String^>(myEnum->Current);
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, ' ' );
}
void PrintValues( array<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
*/
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 bir O(n)
işlemdir ve burada n
şeklindedir Count.