一、簡介
在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();
}
}
}
輸出結果,如圖所示:

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/108760.html
標籤:C#
