一、簡介 在Random類用於創建隨機數。(當然是偽隨機的。) 二、Random用法 例: 三、方法詳細說明 Random 類中提供的 Next、NextBytes 以及 NextDouble 方法可以生成整數類型、byte 數組類型以及雙精度浮點型的隨機數,詳細說明如下表所示。 Next():每次 ...
一、簡介
在Random
類用於創建隨機數。(當然是偽隨機的。)
二、Random用法
例:
Random rnd = new Random(); int month = rnd.Next(1, 13); // 創建一個數字是1~12的之間的 int dice = rnd.Next(1, 7); // 創建一個數字是1~6之間的 int card = rnd.Next(52); // 創建一個數字是0~51之間的
三、方法詳細說明
Random 類中提供的 Next、NextBytes 以及 NextDouble 方法可以生成整數類型、byte 數組類型以及雙精度浮點型的隨機數,詳細說明如下表所示。
- Next():每次產生一個不同的隨機正整數
- Next(int max Value):產生一個比max value 小的整數
- Next(int min Value,int max Value):產生一個 minValue~maxValue 的正整數,但不包含 maxValue
- NextDouble():產生一個0.0~1.0的浮點數
- NextBytes(byte[] buffer):用隨機數填充指定位元組數的數組
四、Random方法的使用
【實例】分別使用 Next、NextDouble 以及 NextBytes 方法生成隨機數。
class Program { static void Main(string[] args) { //分別使用Net、NetDouble已經NextByets方法生成隨機數 Random rd = new Random(); int numberone = rd.Next(0, 10); Console.WriteLine("產生一個10以內的數:{0}",numberone); //浮點數 double numbertwo = rd.NextDouble(); Console.WriteLine("產生一個0到1之間浮點數:{0}",numbertwo); //數組 byte[] b = new byte[5]; rd.NextBytes(b); Console.WriteLine("產生的byte類型值為:"); foreach (byte i in b) { Console.Write(i + " "); } Console.WriteLine(); Console.ReadKey(); } }
輸出結果,如圖所示:
【實例】輸入名字隨機顯示這個人上輩子是什麼樣的人
class Program { static void Main(string[] args) { //隨機數 Random rd = new Random(); while (true) { int number = rd.Next(1, 6); Console.WriteLine("請輸入你的名字"); string name = Console.ReadLine(); if (name=="") { Console.WriteLine("名字不能為空,請重新輸入你的名字"); name = Console.ReadLine(); } switch (number) { case 1: Console.WriteLine("{0}的上輩子是皇帝", name); break; case 2: Console.WriteLine("{0}的上輩子是皇後", name); break; case 3: Console.WriteLine("{0}的上輩子是貴妃", name); break; case 4: Console.WriteLine("{0}的上輩子是秀才", name); break; case 5: Console.WriteLine("{0}的上輩子是駙馬", name); break; } Console.ReadKey(); } } }
輸出結果,如圖所示: