Nullreference Q&A 编程技术问答社区
第一次访问本站?请查看 FAQ!
x
+2 投票
85 浏览

用 Random 生成几个随机数,但是每次生成的数都一样

for (var i = 0; i < 6; i++)
{
    var rand = new Random();
    var w = rand.Next(100, 300);
    var h = rand.Next(10, 300);

     // 其他
}

哪里写的不对?

最新提问 6月 12, 2016 分类:C# | 用户: lw168 | 85 浏览

1个回答

+2 投票

new Random()用与当前时间相关的种子值生成一个新实例。你的代码中在 for 循环中每次都使用一个新实例,由于 for 循环在很短时间内执行完成了,所以生成值的没变。

var rand = new Random(); 把这一句放到 for 循环的外面,每次循环都使用同一个实例。

最新回答 6月 13, 2016 用户: Walt (1,190 分)