c# - How to convert a Stack to an Array

Convert a Stack to an Array
The Stack class represents a simple last-in-first-out non-generic collection of objects. The Stack capacity is the number of elements it can hold. When elements are added to a Stack, its capacity is automatically increased as required through reallocation. The Stack accepts null as a valid value and allows duplicate elements.

The following .net c# tutorial code demonstrates how we convert a Stack instance to an Array instance. That means we will copy a Stack to a new Array. In this .net c# tutorial code, we used the Stack class ToArray() method to create an Array instance from a Stack object.

The Stack class ToArray() method copy the Stack to a new array. This method returns a new array containing copies of the elements of the Stack. The elements are copied onto the array in last-in-first-out order. That is similar to the order of the elements returned by a succession of calls to Pop.
StackToArrayMethod.aspx

<%@ Page Language="C#" AutoEventWireup="true" %>

<!DOCTYPE html>
<script runat="server">
    protected void Button1_Click(object sender, System.EventArgs e)
    {
        Stack colors = new Stack();

        colors.Push("DarkRed");
        colors.Push("DarkGreen");
        colors.Push("DarkBlue");
        colors.Push("DarkSalmon");
        colors.Push("DarkViolet");

        Label1.Text = "Stack Elements... ";
        Label1.Text += "<font color=DarkViolet>";
        foreach (string color in colors)
        {
            Label1.Text += "<br />" + color;
        }
        Label1.Text += "</font>";

        var colorsArray = colors.ToArray();

        Label1.Text += "<br /><br />After Call Stack.ToArray() method";
        Label1.Text += "<br />Array Elements...";
        Label1.Text += "<font color=DarkViolet>";
        for (int i = 0; i < colorsArray.Length; i++)
        {
            Label1.Text += "<br />" + colorsArray[i].ToString();
        }
        Label1.Text += "</font>";
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>Stack ToArray() Method - How to copy the Stack to a new array</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <h2 style="color:MidnightBlue; font-style:italic;">
            System.Collections.Stack ToArray() Method
            <br /> How to copy the Stack to a new array
        </h2>
        <hr width="400" align="left" color="Navy" />
        <br />
        <asp:Label
             ID="Label1"
             runat="server"
             ForeColor="DarkGreen"
             Font-Size="Large"
             Font-Names="Courier New"
             Font-Italic="true"
             Font-Bold="true"
             >
        </asp:Label>
        <br /><br />
        <asp:Button 
            ID="Button1"
            runat="server"
            OnClick="Button1_Click"
            Text="Test Stack ToArray() Method"
            Height="45"
            Font-Bold="true"
            ForeColor="DodgerBlue"
            />
    </div>
    </form>
</body>
</html>
Related asp.net examples