簡體   English   中英

C#在另一種方法中使用一種方法中的變量

[英]C# Using variable from one method in another

我有 2 個函數,每個函數都用於特定按鈕,其中一個函數可以找到隨機數,我希望第二個函數只使用該數字而不再次生成它。 我嘗試過很多方法,現在我的代碼有點實驗性,但我沒有找到合適的方法來做到這一點。

public partial class Form1 : Form
{
    public int ShuffleNor(int l)
    {
        int r = 0;
        string[] nor = File.ReadAllLines(@"C:\Users\Kapi\Desktop\no.txt").ToArray();
      
        Random rnd = new Random();
        r = rnd.Next(0, nor.Length);
        lbl_nor.Text = nor[r];
        return r;
            
    }
    public Form1()
    {
        InitializeComponent();
    }

    private void btn_shuffle_Click(object sender, EventArgs e)
    {
        ShuffleNor(1);
    }

    private void btn_check_Click(object sender, EventArgs e)
    {
       string[] eng = File.ReadAllLines(@"C:\Users\Kapi\Desktop\en.txt").ToArray();
       lbl_eng.Text = eng[ShuffleNor(0)];
    }
}

tia 的答案是正確的:

public partial class Form1 : Form
{
    public int ShuffleNor(int l)
    {
        int r = 0;
        string[] nor = File.ReadAllLines(@"C:\Users\Kapi\Desktop\no.txt").ToArray();
      
        Random rnd = new Random();
        r = rnd.Next(0, nor.Length);
        lbl_nor.Text = nor[r];
        return r;
            
    }
    public Form1()
    {
        InitializeComponent();
    }

    int _lastShuffleResult = 0;
    private void btn_shuffle_Click(object sender, EventArgs e)
    {
        _lastShuffleResult = ShuffleNor(1);
    }

    private void btn_check_Click(object sender, EventArgs e)
    {
       string[] eng = File.ReadAllLines(@"C:\Users\Kapi\Desktop\en.txt").ToArray();
       lbl_eng.Text = eng[_lastShuffleResult];
    }
}

在類范圍內聲明一個變量:

public partial class Form1 : Form
{
   private int r;
   public int ShuffleNor(int l)
   {
      r = 0;
   [...]

如果將其設為公開,則引用類對象實例的代碼將可見。 如果將其設為靜態,則該類的所有實例都使用相同的值/存儲。

暫無
暫無

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

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