This question already has answers here:
Produce a random number in a range using C#
                                
                                    (7个答案)
                                
                        
                                2年前关闭。
            
                    
因此,我需要根据用户设置的参数生成随机数,并制作一个基本的数学表达式。他们有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();
}

最佳答案

您需要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

关于c# - 如何从C#中的某个范围生成随机数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43859126/

10-11 15:43