/*
Learning C#
by Jesse Liberty
Publisher: O'Reilly
ISBN: 0596003765
*/
using System;
using System.Collections;
namespace StackDemo
{
publicclass TesterStackArray
{
publicvoid Run()
{
Stack intStack = new Stack();
// populate the array
for (int i = 1;i<5;i++)
{
intStack.Push(i*5);
}
// Display the Stack.
Console.WriteLine( "intStack values:" );
DisplayValues( intStack );
constint arraySize = 10;
int[] testArray = newint[arraySize];
// populate the array
for (int i = 1; i < arraySize; i++)
{
testArray[i] = i * 100;
}
Console.WriteLine("\nContents of the test array");
DisplayValues( testArray );
// Copy the intStack into the new array, start offset 3
intStack.CopyTo( testArray, 3 );
Console.WriteLine( "\nTestArray after copy: ");
DisplayValues( testArray );
// Copy the entire source Stack
// to a new standard array.
Object[] myArray = intStack.ToArray();
// Display the values of the new standard array.
Console.WriteLine( "\nThe new array:" );
DisplayValues( myArray );
}
publicstaticvoid DisplayValues(
IEnumerable myCollection )
{
foreach (object o in myCollection)
{
Console.WriteLine(o);
}
}
[STAThread]
staticvoid Main()
{
TesterStackArray t = new TesterStackArray();
t.Run();
}
}
}