方法只工作一次? C#

时间:2014-06-18 05:41:04

标签: c# methods repeat

我开始认为这是一个愚蠢的问题,因为我找不到任何相关的东西但是这里有。

所以我一直在学习C#并试图找出方法,所以我创建了一个简单的方法,在使用时增加变量。然后我将它附加到Microsoft Visual Forms中的一个按钮。但是,它似乎只增加了一次值,然后计算机停止执行该方法。

这是我的代码

 public partial class Form1 : Form
 {
     public Form1()
     {
         InitializeComponent();
     }

     int number = 0;

     public void button1_Click(object sender, EventArgs e)
     {
         NumberMethod(number);
     }

     public int NumberMethod(int number)
     {
         number++;
         label1.Text = number.ToString("Number:#");
         return number;
     }
 }

所以我再次希望它执行该方法并在每次有人点击按钮时增加变量。

1 个答案:

答案 0 :(得分:2)

尝试使用this关键字:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    int number = 0;
    public void button1_Click(object sender, EventArgs e)
    {
        NumberMethod();
    }
    public int NumberMethod()
    {
        this.number++;
        label1.Text = this.number.ToString("Number:#");
        return this.number;
    }
}

<强>解释

当你调用NumberMethod(number)时,它只传递最初为零的值。并且从函数增加1。重要的是变量number的值尚未改变(它保持为零)。同样的事情一次又一次地发生。

在我的解决方案中,我们没有传递值,而是从方法本身更改number的值。