Stack.CopyTo(Array, Int32) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
public:
virtual void CopyTo(Array ^ array, int index);
public virtual void CopyTo (Array array, int index);
abstract member CopyTo : Array * int -> unit
override this.CopyTo : Array * int -> unit
Public Overridable Sub CopyTo (array As Array, index As Integer)
Parameter
- array
- Array
Satu dimensi Array yang merupakan tujuan elemen yang disalin dari Stack. Array harus memiliki pengindeksan berbasis nol.
- index
- Int32
Indeks berbasis nol tempat array penyalinan dimulai.
Penerapan
Pengecualian
arrayadalah null.
index kurang dari nol.
array bersifat multidmensional.
-atau-
Jumlah elemen dalam sumber Stack lebih besar dari ruang yang tersedia dari index ke akhir tujuan array.
Jenis sumber Stack tidak dapat dilemparkan secara otomatis ke jenis tujuan array.
Contoh
Contoh berikut menunjukkan cara menyalin Stack ke dalam array satu dimensi.
using namespace System;
using namespace System::Collections;
void PrintValues( Array^ myArr, char mySeparator );
int main()
{
// Creates and initializes the source Stack.
Stack^ mySourceQ = gcnew Stack;
mySourceQ->Push( "barn" );
mySourceQ->Push( "the" );
mySourceQ->Push( "in" );
mySourceQ->Push( "cats" );
mySourceQ->Push( "napping" );
mySourceQ->Push( "three" );
// Creates and initializes the one-dimensional target Array.
Array^ myTargetArray = Array::CreateInstance( String::typeid, 15 );
myTargetArray->SetValue( "The", 0 );
myTargetArray->SetValue( "quick", 1 );
myTargetArray->SetValue( "brown", 2 );
myTargetArray->SetValue( "fox", 3 );
myTargetArray->SetValue( "jumps", 4 );
myTargetArray->SetValue( "over", 5 );
myTargetArray->SetValue( "the", 6 );
myTargetArray->SetValue( "lazy", 7 );
myTargetArray->SetValue( "dog", 8 );
// 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 Stack to the target Array, starting at index 6.
mySourceQ->CopyTo( myTargetArray, 6 );
// Displays the values of the target Array.
PrintValues( myTargetArray, ' ' );
// Copies the entire source Stack to a new standard array.
array<Object^>^myStandardArray = mySourceQ->ToArray();
// Displays the values of the new standard array.
Console::WriteLine( "The new standard array contains the following:" );
PrintValues( myStandardArray, ' ' );
}
void PrintValues( Array^ myArr, char mySeparator )
{
IEnumerator^ myEnum = myArr->GetEnumerator();
while ( myEnum->MoveNext() )
{
Object^ myObj = safe_cast<Object^>(myEnum->Current);
Console::Write( "{0}{1}", mySeparator, myObj );
}
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
The new standard array contains the following:
three napping cats in the barn
*/
using System;
using System.Collections;
public class SamplesStack {
public static void Main() {
// Creates and initializes the source Stack.
Stack mySourceQ = new Stack();
mySourceQ.Push( "barn" );
mySourceQ.Push( "the" );
mySourceQ.Push( "in" );
mySourceQ.Push( "cats" );
mySourceQ.Push( "napping" );
mySourceQ.Push( "three" );
// Creates and initializes the one-dimensional target Array.
Array myTargetArray=Array.CreateInstance( typeof(string), 15 );
myTargetArray.SetValue( "The", 0 );
myTargetArray.SetValue( "quick", 1 );
myTargetArray.SetValue( "brown", 2 );
myTargetArray.SetValue( "fox", 3 );
myTargetArray.SetValue( "jumps", 4 );
myTargetArray.SetValue( "over", 5 );
myTargetArray.SetValue( "the", 6 );
myTargetArray.SetValue( "lazy", 7 );
myTargetArray.SetValue( "dog", 8 );
// 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 Stack to the target Array, starting at index 6.
mySourceQ.CopyTo( myTargetArray, 6 );
// Displays the values of the target Array.
PrintValues( myTargetArray, ' ' );
// Copies the entire source Stack to a new standard array.
Object[] myStandardArray = mySourceQ.ToArray();
// Displays the values of the new standard array.
Console.WriteLine( "The new standard array contains the following:" );
PrintValues( myStandardArray, ' ' );
}
public static void PrintValues( Array myArr, char mySeparator ) {
foreach ( Object myObj in myArr ) {
Console.Write( "{0}{1}", mySeparator, myObj );
}
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
The new standard array contains the following:
three napping cats in the barn
*/
Imports System.Collections
Public Class SamplesStack
Public Shared Sub Main()
' Creates and initializes the source Stack.
Dim mySourceQ As New Stack()
mySourceQ.Push("barn")
mySourceQ.Push("the")
mySourceQ.Push("in")
mySourceQ.Push("cats")
mySourceQ.Push("napping")
mySourceQ.Push("three")
' Creates and initializes the one-dimensional target Array.
Dim myTargetArray As Array = Array.CreateInstance(GetType(String), 15)
myTargetArray.SetValue("The", 0)
myTargetArray.SetValue("quick", 1)
myTargetArray.SetValue("brown", 2)
myTargetArray.SetValue("fox", 3)
myTargetArray.SetValue("jumps", 4)
myTargetArray.SetValue("over", 5)
myTargetArray.SetValue("the", 6)
myTargetArray.SetValue("lazy", 7)
myTargetArray.SetValue("dog", 8)
' 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 Stack to the target Array, starting
' at index 6.
mySourceQ.CopyTo(myTargetArray, 6)
' Displays the values of the target Array.
PrintValues(myTargetArray, " "c)
' Copies the entire source Stack to a new standard array.
Dim myStandardArray As Object() = mySourceQ.ToArray()
' Displays the values of the new standard array.
Console.WriteLine("The new standard array contains the following:")
PrintValues(myStandardArray, " "c)
End Sub
Overloads Public Shared Sub PrintValues(myArr As Array, _
mySeparator As Char)
Dim myObj As Object
For Each myObj In myArr
Console.Write("{0}{1}", mySeparator, myObj)
Next myObj
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
' The new standard array contains the following:
' three napping cats in the barn
Keterangan
Elemen disalin ke array dalam urutan last-in-first-out (LIFO), mirip dengan urutan elemen yang dikembalikan oleh berturut-turut panggilan ke Pop.
Metode ini adalah O(n) operasi, di mana n adalah Count.