Export (0) Print
Expand All

Stack.ToArray Method

Copies the Stack to a new array.

Namespace:  System.Collections
Assembly:  mscorlib (in mscorlib.dll)

public virtual Object[] ToArray()

Return Value

Type: System.Object[]
A new array containing copies of the elements of the Stack.

The elements are copied onto the array in last-in-first-out (LIFO) order, similar to the order of the elements returned by a succession of calls to Pop.

This method is an O(n) operation, where n is Count.

The following example shows how to copy a Stack into a one-dimensional array.

 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( "jumped", 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 jumped over the lazy dog      
  The quick brown fox jumped over three napping cats in the barn   
 The new standard array contains the following:
  three napping cats in the barn
 */

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0
Show:
© 2015 Microsoft