2015-10-11 23 views
-1

我的C#Windows窗體應用程序隨機數生成器每次運行應用程序時都只返回零值。我在網上看了一下,似乎人們有時會在測試時得到一個重複的數字,但從來沒有一個零。我發現,甚至更奇怪,因爲我的參數指出隨機數應該在1到100之間...請讓我知道您的想法。謝謝!新的隨機只返回一個零...爲什麼?

int count; 

private void Form1_Load(object sender, EventArgs e) 
{ 
    Random num = new Random(); 
    count = num.Next(1, 101); 
} 
+4

你如何觀察'count'的值?您應該也可以發佈該代碼。 – 31eee384

+0

將事件連接到表單。雙擊窗體創建活動。不僅創建方法將作爲事件 –

回答

5

Next(1, 101)不會返回零。我懷疑你沒有註冊Form1_Load事件,所以它沒有運行那個代碼。

零僅僅是int字段的默認值。

+0

工作這很好!謝謝。我確實需要雙擊designer.cs中的表單,然後將它移動到類文件中,然後運行。謝謝大家今天的幫助! – AtLeastTheresToast

1

我會提供一個更猜測,你在做什麼:

Using System.Diagnostics; 

int count; 

private void Form1_Load(object sender, EventArgs e) 
{ 
    Random num = new Random(); 
    count = num.Next(1, 101); // remove your break point on this line 
    Debug.WriteLine(count); // put your break point here 
} 
2

只是這行代碼添加到窗體的構造函數,它會工作:

this.Load += Form1_Load; 

由於已經說,Random.Next(0, 100)返回範圍0 - 99中的數字,所以這不是爲什麼你總是得到這0。這只是你的方法沒有被調用。