日期:2010-01-31  浏览次数:20452 次

成员:

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;
}