尝试创建一个类,让我从数组(在 Windows 窗体应用程序中)推送和弹出堆栈等值,但我陷入困境



我有一个windows窗体应用程序,其一侧有一个用于将值输入Label1的数字键盘。当用户按下Enter按钮时,应用程序应将值"推"到堆栈上,并在Label2中显示堆栈。我现在只停留在应用程序将值存储在数组中并在屏幕上显示堆栈的部分。

点击回车按钮时有以下代码:

    private void btnEnter_Click_1(object sender, EventArgs e)
    {
            ArrayStack Stack = new ArrayStack();
            Stack.Push(label1, label2);
            label1.Text = "0";
    }

ArrayStack类有以下代码:

    public class ArrayStack
{
    int[] StackArray = new int[10];
    int Top = -1;

    public Label Push(Label Label1, Label Label2)
    {
            StackArray[Top + 1] = Convert.ToInt32(Label1.Text);
            Top = Top + 1;
            for (int counter = 0; counter == Top + 1; counter++ )
            {
                int num = 10 - counter;
                Label2.Text += "rn [" + num + "] " + StackArray[Top];
            }
            return Label2;           
    }
}

我在这里遇到的问题是,它没有像我想要的那样填充Label2,而是将其留空。我做错了什么?

        for (int counter = 0; counter == Top + 1; counter++ )
        {
            int num = 10 - counter;
            Label2.Text += "rn [" + num + "] " + StackArray[Top];
        }

将其更改为:

        for (int counter = 0; counter <= Top; counter++ )
        {
            int num = 10 - counter;
            Label2.Text += "rn [" + num + "] " + StackArray[Top];
        }

每次按下按钮都会创建一个新的Stack。试着让它成为会员。

最新更新