可以使用兩種方式初始化一個隨機數發生器:
第一種方法不指定隨機種子,系統自動選取當前時間作為隨機種子:Random ro = new Random();
第二種方法可以指定一個int型引數作為隨機種子:int iSeed=10;Random ro = new Random(10);long tick = DateTime.Now.Ticks;Random ran = new Random((int)(tick & 0xffffffffL) | (int) (tick >> 32));這樣可以保證99%不是一樣。
之後,就可以使用這個Random類的物件來產生隨機數,這時候要用到Random.Next()方法。這個方法使用相當靈活,甚至可以指定產生的隨機數的上下限。
不指定上下限的使用如下:int iResult;iResult=ro.Next();
下面的程式碼指定返回小於100的隨機數:int iResult;int iUp=100;iResult=ro.Next(iUp);
而下面這段程式碼則指定返回值必須在50-100的範圍之內:int iResult;int iUp=100;int iDown=50;iResult=ro.Next(iDown,iUp);
除了Random.Next()方法之外,Random類還提供了Random.NextDouble()方法產生一個範圍在0.0-1.0之間的隨機的雙精度浮點數:double dResult;dResult=ro.NextDouble();
可以使用兩種方式初始化一個隨機數發生器:
第一種方法不指定隨機種子,系統自動選取當前時間作為隨機種子:Random ro = new Random();
第二種方法可以指定一個int型引數作為隨機種子:int iSeed=10;Random ro = new Random(10);long tick = DateTime.Now.Ticks;Random ran = new Random((int)(tick & 0xffffffffL) | (int) (tick >> 32));這樣可以保證99%不是一樣。
之後,就可以使用這個Random類的物件來產生隨機數,這時候要用到Random.Next()方法。這個方法使用相當靈活,甚至可以指定產生的隨機數的上下限。
不指定上下限的使用如下:int iResult;iResult=ro.Next();
下面的程式碼指定返回小於100的隨機數:int iResult;int iUp=100;iResult=ro.Next(iUp);
而下面這段程式碼則指定返回值必須在50-100的範圍之內:int iResult;int iUp=100;int iDown=50;iResult=ro.Next(iDown,iUp);
除了Random.Next()方法之外,Random類還提供了Random.NextDouble()方法產生一個範圍在0.0-1.0之間的隨機的雙精度浮點數:double dResult;dResult=ro.NextDouble();