问个白痴问题.................

不懂装懂 2010-06-13 04:58:06
代码如下:
Random r1 = new Random();
int i1 = r1.Next(1, 6);
Random r2 = new Random();
int i2 = r2.Next(1, 6);

现在问题是每次产生随机数i1=i2,不知道怎么回事.....应该怎么改呢?
...全文
89 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cp298674954 2010-06-13
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 iouuoi 的回复:]

C# code
Random r1 = new Random(1);
int i1 = r1.Next(1, 6);
Random r2 = new Random(2);
int i2 = r2.Next(1, 6);
MessageBox.Show(i1.ToString());
……
[/Quote]

这个代码作废。。。。永远是一个值。。。。。。
iouuoi 2010-06-13
  • 打赏
  • 举报
回复
Random r1 = new Random(1);
int i1 = r1.Next(1, 6);
Random r2 = new Random(2);
int i2 = r2.Next(1, 6);
MessageBox.Show(i1.ToString());
MessageBox.Show(i2.ToString());
doubleu2005 2010-06-13
  • 打赏
  • 举报
回复
Random r1 = new Random(i2);
int i1 = r1.Next(1, 6);
Random r2 = new Random(i1);
int i2 = r2.Next(1, 6);
试试
zfb312 2010-06-13
  • 打赏
  • 举报
回复
定义一个循环 判断 i1==i2 如果返回True 就重新生成
HolyPlace 2010-06-13
  • 打赏
  • 举报
回复
他是根据时间来的,时间太短了产生的就是一样的
cp298674954 2010-06-13
  • 打赏
  • 举报
回复
定义一个循环 判断 i1==i2 如果返回True 就重新生成
cp298674954 2010-06-13
  • 打赏
  • 举报
回复
产生随机数是伪随机数 是通过种子值进行复杂运算后得出的结果 默认的种子是时间 所以这里短时间内取出的随机数是一样的。。。
不懂装懂 2010-06-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jiezi316 的回复:]
Random 本身就是伪随机数,可以考虑改变下SEED。
[/Quote]
解决,OK
jiezi316 2010-06-13
  • 打赏
  • 举报
回复
Random 本身就是伪随机数,可以考虑改变下SEED。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧