所以我需要根据用户设置的参数生成随机数,并制作一个基本的数学表达式。他们有3个选择;单数,双数或三位数。所以基于此我需要生成0到9,0到99和0到100的随机数。
到目前为止,我已经阅读了Random
课程。这是我的不良尝试:
Random rnd = new Random();
int value = 0;
if (digits == 1)
{
rnd.Next(value);
q1Lbl.Text = value.ToString();
}
答案 0 :(得分:7)
您需要Random.Next()的重载:
public virtual int Next(
int minValue,
int maxValue
)
其中:
minValue =返回的随机数的包含下限。
maxValue =返回的随机数的独占上限。 maxValue必须大于或等于minValue。
请注意参数说明中的包含和独占字样。这意味着可以在可能的值中返回最小值,而最大值将不。
在返回值的描述中进一步阐明:
返回值 - 大于或等于的32位有符号整数 minValue和小于maxValue;也就是说,返回值的范围 包括minValue但不包括maxValue。如果minValue等于maxValue, 返回minValue。
例如,要获得0到9(含)之间的单个数字值,您可以使用:
int value = rnd.Next(0, 10); // return a value between 0 and 9 inclusive
要获得两位数,您可以使用:
int value = rnd.Next(10, 100); // return a value between 10 and 99 inclusive
最后,要获得三位数字,您可以使用:
int value = rnd.Next(100, 1000); // return a value between 100 and 999 inclusive
答案 1 :(得分:2)
Random rnd = new Random();
int single = rnd.Next(1, 10); // 1 ~9
int double = rnd.Next(1, 100); // 1~99
int triple = rnd.Next(1,101); // 1~100
如果你想多次实现这些值,循环它
答案 2 :(得分:0)
Next
方法超载,你只需通过范围:
Random rnd = new Random();
rnd.Next(1,20); //Gives you a number between 1 and 20