保存生成的随机数以供日后使用

时间:2012-07-11 10:29:02

标签: c# random

以下代码将为我提供一个随机数:

Random r = new Random();
int srandom = r.Next(2147483647);

我想将它保存到字符串/ int / long或者我将如何使用相同的数字。因此,例如,如果我现在调用srandom我会得到随机数,但过了一段时间它会改变。我希望它保持不变。

2 个答案:

答案 0 :(得分:3)

您可以在类中创建一个静态字段,并在程序生命周期中通过从静态构造函数设置它来初始化一次:

public class YourClass{

    private static readonly int g_RandomInt;

    static YourClass(){
        g_RandomInt = new Random().Next();    
    }

    public void InstanceMethod()
    {
        Console.WriteLine(g_RandomInt);
    }
}

答案 1 :(得分:0)

您可以执行以下操作:

Globals8.GlobalInt8 = Globals8.GlobalInt8.HasValue ? Globals8.GlobalInt8 : srandom;

并将变量GlobalInt8声明为可以为空的int:

public static class Globals8
{
    private static int? globalInt8 = default(int?);
    public static int? GlobalInt8 
    {
         get { return globalInt8;}
         set { globalInt8 = value;}
    }
}

同样的事情可以应用于长变量。这里发生的事情是将值初始化为默认值,该值与引用对象中的null类似。之后,检查变量是否有值,然后忽略它。否则你设定它的价值。

希望这很有用。