2010-10-20 132 views

回答

293

您可以嘗試

Random r = new Random(); 
int rInt = r.Next(0, 100); //for ints 
int range = 100; 
double rDouble = r.NextDouble()* range; //for doubles 

看一看

Random ClassRandom.Next Method (Int32, Int32)Random.NextDouble Method

+25

只需添加註釋,如果使用NextDouble()並且不希望下限爲零。你乘以上限和下限之間的差值,然後加上下限和零之間的差值。 因此,對於-1到1 'double rDouble =(r.NextDouble()* 2)-1.0;' – 2013-10-28 20:03:50

24

喜歡的東西:

var rnd = new Random(DateTime.Now.Millisecond); 
int ticks = rnd.Next(0, 3000); 
+1

什麼是DateTime.Now.Millisecond? – Hille 2017-11-27 12:33:34

+0

你需要給它一些東西來開始...... Random對象只是對你給出的值做很多數學運算,並且每次調用Next()對同一個Random對象都會導致前一個調用的值非常隨機。爲了使結果更隨機_across不同的隨機objects_,你從一個不同的數字開始 - 這裏是DateTime.Now.Millisecond。如果你把一個常量,而不是一個變化的值,你會得到.Next()相同的結果。 – 2017-12-28 00:05:27

9

用途:

Random r = new Random(); 
int x= r.Next(10);//Max range 
+0

這沒有指定範圍。 – 2015-02-15 04:10:41

+0

你只要做lower_value + r.Next(10)來得到一個隨機範圍。 – Salgat 2016-11-03 16:11:27

19

試試下面的代碼。

Random rnd = new Random(); 
int month = rnd.Next(1, 13); // creates a number between 1 and 12 
int dice = rnd.Next(1, 7); // creates a number between 1 and 6 
int card = rnd.Next(52); // creates a number between 0 and 51 
相關問題