2012-06-11 84 views
0

試圖通過編寫我的第一個程序來學習som C#。儘管關於變量的範圍我有一個問題。範圍:如何使用在幾種方法中使用的隨機數

我想要做的是在10000到99999之間生成一個隨機數,並在同一個類中使用幾個獨立事件的結果。

我沒有問題產生一個隨機數:

public string shuffle() 
     { 
      Random RandomNumber = new Random(); 
      int shuffleUdTemp = RandomNumber.Next(10000, 99999); 
      string shuffleUd = shuffleUdTemp.ToString(); 
      return shuffleUd; 
     } 

讓我們說,洗牌()導致48532 - 我該如何使用在同一類(Windows窗體)在幾個獨立事件,這個數字?

請注意,我是C#的初學者,所以我可能會使用一些精確/錯誤的單詞。

提前:)

/託本THX

+0

你多久需要一個新的隨機數? – NominSim

+0

@ user1449307 - 你明白你的'shuffle()'不需要使用'Random'類是否正確?只需存儲'RandomNumber.Next(10000,99999)'的結果等於你的類的字符串屬性。你不應該在與RandomNumber.Next(10000,99999)相同的方法或代碼塊中調用Random RandomNumber = new Random();'你不會理解結果。 –

回答

1

您需要返回該號碼,然後只需將它傳遞到使用該號碼

+0

他正在談論存儲號碼,以便不會生成新號碼,而不是您的意思! – user1417475

4

您可以將其存儲在現場

class MyRandomClass 
{ 
    public void Foo() 
    { 
     Random RandomNumber = new Random(); 
     mRandomNumber = RandomNumber.Next(10000, 99999); 
    } 

    public void Foo2() 
    { 
     //do something with mRandomNumber 
    } 

    private int mRandomNumber; 
} 

MyRandomClass當然可以是您的應用程序,您的窗口或任何其他類。

+0

只是發佈了類似的答案,但是因爲您已經發布了+1 – Zbigniew

0

將其保存在變量或字段中。 I. e。

class Test 
{ 
    private string random = (new Random()).Next(10000, 99999).ToString(); 
    private string saver = ""; 
    public void Method() 
    { 
     Console.WriteLine(random); 
    } 
    protected void otherMethod() 
    { 
     saver += random; 
     Console.WriteLine(saver); 
    } 
} 
相關問題