我在一个方法中调用一个随机函数,但他的值都是想同的,不知道是不是BUG 如下int num1,num2
private void getNum()
{
num1 = returnNum();
num2 = returnNum();
}int returnNum()
{
Random rd = new Random();
return rd.next(1,35);
}
这里num1与num2的值始终是一样的,好像和JAVASCRIPT做网页的时候是不会出现这样的问题.请问这是C#的BUG吗?
private void getNum()
{
num1 = returnNum();
num2 = returnNum();
}int returnNum()
{
Random rd = new Random();
return rd.next(1,35);
}
这里num1与num2的值始终是一样的,好像和JAVASCRIPT做网页的时候是不会出现这样的问题.请问这是C#的BUG吗?
<html>
<script language ="javascript">function getNum(max)
{
var i;
i = Math.round(Math.random()*max);
return i;
}</script><script language = "javascript">
alert(getNum(34));
alert(getNum(34));
</script>
<body></body>
</html>
int returnNum()
{
Random rd = new Random(Guid.NewGuid().GetHashCode());
return rd.Next(1,35);
}
这样,你再打印r.Next();结果就不同了。
http://blog.sina.com.cn/u/446ff3c601000586
没有问题
int returnNum()
{
Random rd = new Random();
return rd.Next(1,35);
} private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = returnNum().ToString();
textBox2.Text = returnNum().ToString();
}
两个结果不一样