成员:
Next(); //获取 0 .. int.MaxValue 的 int 随机数; 可指定范围
NextBytes(); //获取 0 .. 255 的随机数并填充字节数组
NextDouble(); //获取 0 .. 1 的 double 随机数
构造函数:
//不指定随机种子, 则默认有系统时钟生成种子
protected void Button1_Click(object sender, EventArgs e)
{
Random r = new Random();
int n1 = r.Next();
int n2 = r.Next();
TextBox1.Text = string.Concat(n1, "\n", n2);
}
//种子值相同时, 其随机序列也相同
protected void Button2_Click(object sender, EventArgs e)
{
Random r1 = new Random(1);
Random r2 = new Random(1);
Random r3 = new Random(2);
byte[] bs1 = new byte[10];
byte[] bs2 = new byte[10];
byte[] bs3 = new byte[10];
r1.NextBytes(bs1);
r2.NextBytes(bs2);
r3.NextBytes(bs3);
string s1 = string.Join(", ", bs1); //70, 208, 134, 130, 64, 151, 228, 163, 149, 207
string s2 = string.Join(", ", bs2); //70, 208, 134, 130, 64, 151, 228, 163, 149, 207
string s3 = string.Join(", ", bs3); //113, 147, 198, 149, 36, 185, 227, 111, 124, 56
TextBox1.Text = string.Concat(s1, "\n", s2, "\n", s3);
}
练习:
protected void Button1_Click(object sender, EventArgs e)
{
Random r = new Random(0);
int n1 = r.Next(); //1559595546
int n2 = r.Next(10); //8
int n3 = r.Next(1000, 2000); //1768
TextBox1.Text = string.Concat(n1, "\n", n2, "\n", n3);
}
protected void Button2_Click(object sender, EventArgs e)
{
Random r = new Random(0);
double f;
string str = "";
for (int i = 0; i < 10; i++)
{
f = r.NextDouble();
str += f.ToString("0.00 "); //0.73 0.82 0.77 0.56 0.21 0.56 0.91 0.44 0.98 0.27
}
TextBox1.Text = str;
}