簡體   English   中英

方法只工作一次? C#

[英]Method Only Works Once? C#

我開始認為這是一個愚蠢的問題,因為我找不到任何相關的東西,但是可以解決。

因此,我一直在學習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;
     }
 }

因此,我再次希望它執行該方法並在每次有人單擊按鈕時增加變量。

嘗試使用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的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM