c# - How to get the object at the top of the stack

Get the object at the top of the Stack
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 can get the object at the top of the Stack instance. That means we will only get the object at the top of the Stack without removing it from the Stack. In this .net c# tutorial code, we used the Stack class Peek() method to get the object at the top of a Stack without removing/deleting the object from the Stack.

The Stack class Peek() method returns the object at the top of the Stack without removing it. The Stack Peek() method returns the Object at the top of the Stack. This method throws InvalidOperationException if the Stack is empty. The Stack class Peek() method is similar to the Pop() method, but Peek() method does not modify the Stack.
StackPeekMethod.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("Green");
        colors.Push("SeaGreen");
        colors.Push("MediumSeaGreen");
        colors.Push("DarkGreen");
        colors.Push("LawnGreen");

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

        Label1.Text += "<br /><br />Get the object at the top of the Stack";
        Label1.Text += "<br />without removing it using Peek() method.... <br />";
        Label1.Text += "<font color=SlateBlue>";
        Label1.Text += colors.Peek().ToString();
        Label1.Text += "</font>";

        Label1.Text += "<br /><br />After Call Peek() Method, Now Stack Elements... ";
        Label1.Text += "<font color=SlateBlue>";
        foreach (string color in colors)
        {
            Label1.Text += "<br />" + color;
        }
        Label1.Text += "</font>";

    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>Stack Peek() Method - How to get the object at the top of the Stack without removing it</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <h2 style="color:MidnightBlue; font-style:italic;">
            System.Collections.Stack Peek() Method
            <br /> How to get the object at the top of the Stack without removing it
        </h2>
        <hr width="625" align="left" color="Navy" />
        <br />
        <asp:Label
             ID="Label1"
             runat="server"
             ForeColor="MediumVioletRed"
             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 Peek() Method"
            Height="45"
            Font-Bold="true"
            ForeColor="DodgerBlue"
            />
    </div>
    </form>
</body>
</html>
Related asp.net examples