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