C# ';最大值';必须大于零
我不确定这是否是个问题,但消息中似乎有不正确的地方 我的第一次尝试:C# ';最大值';必须大于零,c#,C#,我不确定这是否是个问题,但消息中似乎有不正确的地方 我的第一次尝试: try { var r = new Random(); Console.WriteLine(r.Next(-1)); } catch (Exception e) { Console.WriteLine(e.GetType().ToString()); Console.WriteLine(e.Message); } 输出: System.ArgumentOutOfRangeException “
try
{
var r = new Random();
Console.WriteLine(r.Next(-1));
}
catch (Exception e)
{
Console.WriteLine(e.GetType().ToString());
Console.WriteLine(e.Message);
}
输出:
System.ArgumentOutOfRangeException
“maxValue”必须大于零
参数名称:maxValue
我的第二次尝试:
try
{
var r = new Random();
Console.WriteLine(r.Next(0));
}
catch (Exception e)
{
Console.WriteLine(e.GetType().ToString());
Console.WriteLine(e.Message);
}
输出:
0
因此,问题是:0
为什么大于零
/*==================================================================================================================下一步=====================================
**返回:一个int[0..maxValue)
**参数:maxValue——比最大合法返回值多出一个。
**例外情况:无。
==============================================================================*/
公共虚拟整数下一步(整数最大值){
如果(最大值
maxValue:要生成的随机数的独占上限。maxValue必须大于或等于0
参数
maxValue
类型:System.Int32
要生成的随机数的独占上限。maxValue必须大于或等于0
根据MSDN的定义,源于
最大值类型:
System.Int32随机变量的唯一上界
要生成的数字。maxValue必须大于或等于0
因此,是的,我们可以说错误消息具有误导性。它应该大于或等于零。该值不能为负。零或更高是可以接受的。这就是为什么您的答案高于此值。0怎么可能为正?0既不是正也不是负!0是0!
maxValue