永发信息网

用ASP.NET写的程序,为什么随机数总是一样的呢?求解释。。。

答案:4  悬赏:50  手机版
解决时间 2021-02-09 04:44
  • 提问者网友:骑士
  • 2021-02-08 09:26
protected void Page_Load(object sender, EventArgs e)
{
Random R_Num1 = new Random();
NUM1.Text=R_Num1.Next(1, 100).ToString();
Random R_Num2 = new Random();
NUM2.Text= R_Num2.Next(1,100).ToString();
}
最佳答案
  • 五星知识达人网友:你可爱的野爹
  • 2021-02-08 10:13
这个没什么好解释的,因为你为ASP.NET每次编释随机数时第一次都基本相同。
第二次有40%的机率相同,而第三次相同的机率就相对低很多。
所以编写取随机数大多数使用的方法是多次.next
也就是
protected void Page_Load(object sender, EventArgs e)
{
Random R_Num1 = new Random();
R_Num1.Next()
R_Num1.Next()
NUM1.Text=R_Num1.Next(1, 100).ToString();
Random R_Num2 = new Random();
R_Num2.Next()
R_Num2.Next()
NUM2.Text= R_Num2.Next(1,100).ToString();
}
全部回答
  • 1楼网友:走死在岁月里
  • 2021-02-08 12:57
要给他加上种子,一般用当前时间作种子
  • 2楼网友:酒安江南
  • 2021-02-08 12:42
加一个参数 试试这个 Random R_Num1 = new Random(DateTime.Now.Millisecond); NUM1.Text = R_Num1.Next(1, 100).ToString(); Random R_Num2 = new Random(DateTime.Now.Millisecond + 1); NUM2.Text = R_Num2.Next(1, 100).ToString();
  • 3楼网友:低音帝王
  • 2021-02-08 11:47
你想每次都不同,可以用当前时间做种子。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯