如何从c#中的范围生成随机数

时间:2017-05-09 00:17:07

标签: c# random generator

所以我需要根据用户设置的参数生成随机数,并制作一个基本的数学表达式。他们有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();
}

3 个答案:

答案 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

在这里,您可以找到整个文档https://www.google.com.co/search?q=next+random+c%23&oq=next+random&aqs=chrome.1.69i57j0l5.3144j0j7&sourceid=chrome&ie=UTF-8