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
array
adalah 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.