Random 類別
Random 類別是用來產生n種隨機數字
一、Random 類別有提供兩個建構函式,分為
1、Random()
說明:其隨機種子預設為時間相依,
例如new兩個Random變數,並不指定種子(時間相依),
Random變數第一次所產生的值將會與另一Random變數第一次所產生的值不同。
2、Random(Int seed)
說明:其隨機種子將指定為Int型別值,
例如new兩個Random變數,並指定相同的種子,
Random變數第一次所產生的值將會與另一Random變數第一次所產生的值相同(偽隨機)。
二、方法介紹
1、Int Next()
傳回非負值的隨機整數。
2、Int Next(Int Max)
傳回小於指定之最大值的非負值隨機整數。
3、Int Next(Int Min, Int Max)
傳回指定範圍內的隨機整數。
4、void NextBytes(Byte[] buffer)
以亂數填入指定位元組陣列的元素。
5、double NextDouble()
傳回大於或等於 0.0,且小於 1.0 的隨機浮點數。
程式範例
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Random Random = new Random(1);
byte[] buffer = new byte[] { 1, 2, 3 };
Console.WriteLine("傳回非負值的隨機整數:" + Random.Next());
Console.WriteLine("傳回小於指定之最大值的非負值隨機整數:" + Random.Next(100));
Console.WriteLine("傳回指定範圍內的隨機整數:" + Random.Next(100, 200));
Console.WriteLine("以亂數填入指定位元組陣列的元素:");
Console.WriteLine("填入前:");
foreach (var item in buffer)
{
Console.WriteLine(item);
}
Random.NextBytes(buffer);
Console.WriteLine("填入後:");
foreach (var item in buffer)
{
Console.WriteLine(item);
}
Console.WriteLine("傳回大於或等於 0.0,且小於 1.0 的隨機浮點數:" + Random.NextDouble());
Console.ReadKey();
}
}
}
參考資料: