-1

下面的代码会给我一个随机数:

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

我想将它保存到字符串/int/long 或其他方式,这样我就可以使用相同的数字。因此,例如,如果我现在调用 srandom,我会得到随机数,但过一会儿它会改变。我希望它保持不变。

4

2 回答 2

3

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

public class YourClass{

    private static readonly int g_RandomInt;

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

    public void InstanceMethod()
    {
        Console.WriteLine(g_RandomInt);
    }
}
于 2012-07-11T10:52:33.830 回答
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;}
    }
}

同样的事情也可以应用于 long 变量。这里发生了什么,您将值初始化为默认值,类似于引用对象中的 null 。之后,您检查变量是否具有值,然后忽略它。否则你设置它的值。

希望这很有用。

于 2012-07-11T10:36:10.867 回答