这个VB6 Rnd()调用的C#等价物是什么?

Sig*_*iDe 0 c# vb6 random vb6-migration

我有一个问题,VB代码Int(Rnd() * 75) + 75)将它转移到C#.我试过了

Random random = new Random
random.Next( 75 ) + 75
Run Code Online (Sandbox Code Playgroud)

但它不对.请帮我.

谢谢

Jon*_*eet 8

假设这意味着给出75(含)和150(独家)之间的值,我会使用

Random random = new Random();
int value = random.Next(75, 150);
Run Code Online (Sandbox Code Playgroud)

这比首先生成[0,75]范围内的数字然后加上75,IMO更清楚.

但请注意,每次需要随机数时都不应创建新实例Random.您可能希望每个线程有一个实例.我有一篇相当长的文章解释了生成随机数的各种陷阱,以及一些解决方法.

  • @ Sigh-AniDe:我刚刚搜索了"vb rnd function"并找到了[本文档](http://msdn.microsoft.com/en-us/library/f7s023d2.aspx),其中声明它大于或等于0,但小于1.你可以做同样的搜索:) (2认同)