Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么默认情况下'Random'不包含静态'Next'方法?_C#_.net_Random - Fatal编程技术网

C# 为什么默认情况下'Random'不包含静态'Next'方法?

C# 为什么默认情况下'Random'不包含静态'Next'方法?,c#,.net,random,C#,.net,Random,可能重复: 接着,我想知道 为什么Random类不使用可选的最小值和最大值为Next公开一个静态方法?这听起来可能是一个愚蠢的问题,但根据经验,10次中有9次我想生成一个随机数,而不必显式指定种子?我是否遗漏了一些明显的东西,这有什么原因吗?或者,事实上有没有一种我正在解释的方法,我还没有发现 这听起来可能是一个愚蠢的问题,但根据经验,10次中有9次我想生成一个随机数,而不必显式指定种子 不过,您不应该使用静态方法。您应该在维护状态的东西上使用实例方法。如果您每次调用Next时都创建一个新的R

可能重复:

接着,我想知道

为什么
Random
类不使用可选的最小值和最大值为
Next
公开一个静态方法?这听起来可能是一个愚蠢的问题,但根据经验,10次中有9次我想生成一个随机数,而不必显式指定种子?我是否遗漏了一些明显的东西,这有什么原因吗?或者,事实上有没有一种我正在解释的方法,我还没有发现

这听起来可能是一个愚蠢的问题,但根据经验,10次中有9次我想生成一个随机数,而不必显式指定种子

不过,您不应该使用静态方法。您应该在维护状态的东西上使用实例方法。如果您每次调用
Next
时都创建一个新的
Random
实例,那么如果您快速连续多次调用该实例,您将得到重复的数字

您应该将“随机数的来源”视为一个依赖项,就像任何其他依赖项一样,IMO可注入,以便可测试。当然,如果您没有使用依赖项注入,那么这个参数可能不适用。。。但你还有其他问题

每个线程可能需要一个
Random
实例,因为
Random
不是线程安全的

有关更多详细信息和代码示例,请参见my

这听起来可能是一个愚蠢的问题,但根据经验,10次中有9次我想生成一个随机数,而不必显式指定种子

不过,您不应该使用静态方法。您应该在维护状态的东西上使用实例方法。如果您每次调用
Next
时都创建一个新的
Random
实例,那么如果您快速连续多次调用该实例,您将得到重复的数字

您应该将“随机数的来源”视为一个依赖项,就像任何其他依赖项一样,IMO可注入,以便可测试。当然,如果您没有使用依赖项注入,那么这个参数可能不适用。。。但你还有其他问题

每个线程可能需要一个
Random
实例,因为
Random
不是线程安全的


有关更多详细信息和代码示例,请参阅my。

已回答-请参阅已回答-请参阅感谢和精彩文章。。。我可能要买你的书,哈哈。谢谢,还有一篇好文章。。。我可能得买你的书,哈哈。