无法生成随机数
Can't generate random number
我正在尝试循环生成随机数。我在循环开始之前创建了一个 Random class 的实例,但它是不可访问的。我得到的错误是:
'System.Random.Sample()' is inaccessible due to its protection level
我的代码是:
Random random = new Random();
while (ready == false)
{
double h = random.Sample();
//Lots of things done here
}
怎么了?
您需要使用NextDouble
方法。
double h = random.NextDouble();
您尝试调用的方法不是错误消息中所述的 public
。
示例方法的 The documentation 解释了此行为:
Important
The Sample method is protected, which means that it is accessible only within the Random class and its derived classes. To generate a random number between 0 and 1 from a Random instance, call the NextDouble method.
如果您想创建自己的自定义随机数生成器,Sample
方法的目的是覆盖它。如果您只想使用 Random
class,NextDouble
是正确的调用方法。
根据文档,要使用 protected 示例方法,您需要 "derive a class from the Random class and override the Sample method"。
你需要的是NextDouble(),它returns一个大于等于0.0,小于1.0的随机浮点数。
请参阅以下文档:
http://msdn.microsoft.com/en-us/library/system.random%28v=vs.110%29.aspx
使用
double h = random.NextDouble();
相反。
我正在尝试循环生成随机数。我在循环开始之前创建了一个 Random class 的实例,但它是不可访问的。我得到的错误是:
'System.Random.Sample()' is inaccessible due to its protection level
我的代码是:
Random random = new Random();
while (ready == false)
{
double h = random.Sample();
//Lots of things done here
}
怎么了?
您需要使用NextDouble
方法。
double h = random.NextDouble();
您尝试调用的方法不是错误消息中所述的 public
。
The documentation 解释了此行为:
Important
The Sample method is protected, which means that it is accessible only within the Random class and its derived classes. To generate a random number between 0 and 1 from a Random instance, call the NextDouble method.
如果您想创建自己的自定义随机数生成器,Sample
方法的目的是覆盖它。如果您只想使用 Random
class,NextDouble
是正确的调用方法。
根据文档,要使用 protected 示例方法,您需要 "derive a class from the Random class and override the Sample method"。
你需要的是NextDouble(),它returns一个大于等于0.0,小于1.0的随机浮点数。
请参阅以下文档:
http://msdn.microsoft.com/en-us/library/system.random%28v=vs.110%29.aspx
使用
double h = random.NextDouble();
相反。