如何在c中生成一个范围内的随机数字#

问题描述:

所以我需要根据用户设置的参数生成随机数,并且创建一个基本的数学表达式。他们有3个选项;单数,双数或三位数字。所以基于此,我需要生成从0到9,0到99和0到100的随机数。如何在c中生成一个范围内的随机数字#

到目前为止,我已阅读了关于Random类。这是我可怜的尝试:

Random rnd = new Random(); 
int value = 0; 

if (digits == 1) 
{ 
    rnd.Next(value); 
    q1Lbl.Text = value.ToString(); 
} 
+0

https://www.bing.com/search?q=c%23+random+numbers+range –

你需要这个过载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 

还有的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

+1

不太会......会返回数字在1和19之间(含)。 20的值将**不包括在可能的返回值中。 –

+0

哦,谢谢你们,这清理了很多!万分感谢 – Sal

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 

循环它,如果你想多次实现这个值