Dar*_*Zon 0 c# random singleton design-patterns
有没有办法在类中创建唯一的实例?
此时,我正在尝试只创建一个Random类的实例.有几次我需要用一粒种子.以后可以换种子吗?
我不确定,我猜这是一个单身人士.
更新:我需要的是只有一个Random类的实例.这个想法是使用相同种子的几次.但后来我需要改变种子,所以我不确定单身是否是最好的方法,因为我想改变种子意味着创建一个新的实例.
在你描述的情况下,单身人士是过度的.在任何情况下,由于单元测试的困难,我通常会建议不要使用单身人士.
由于您指定您需要能够定期重新种植,因此您必须不再使用该readonly关键字.
例如:
public class Foo
{
private static Random randGen = new Random();
public void Foo()
{
int i = this.randGen.Next();
}
public void Bar()
{
int j = this.randGen.Next();
}
public void ReseedRandomNumberGenerator(int? seed = null)
{
this.randGen = seed.HasValue ? new Random(seed.Value) : new Random();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3446 次 |
| 最近记录: |