C#随机数问题

时间:2011-04-10 00:12:37

标签: c# random numbers

我有这个代码应该生成1到100之间的数字:

int aux;
aux = Game1.rand.Next(101);
if (aux <= 20)
{
     Trace.WriteLine(aux);
     seeker = true;
}

问题是我每次都会得到小于20的值。如果我在if语句中将20改为30,我总是得到小于或等于30的数字。 我怎么能克服这个问题? 谢谢。

2 个答案:

答案 0 :(得分:3)

您需要先将 Trace.WriteLine(aux); 放在 if声明之前,才能写出任何超过20(或30)的数字视具体情况而定):

int aux;
aux = Game1.rand.Next(101);
Trace.WriteLine(aux);

if (aux <= 20)
{
  seeker = true;
  //...
}

答案 1 :(得分:1)

尝试类似

的内容
int aux;
aux = Game1.rand.Next(101);
Trace.WriteLine(aux);

你得到的值低于或等于20只是因为你有if()子句确切地说你需要低于或等于20的值。