下面的代码会给我一个随机数:
Random r = new Random();
int srandom = r.Next(2147483647);
我想将它保存到字符串/int/long 或其他方式,这样我就可以使用相同的数字。因此,例如,如果我现在调用 srandom,我会得到随机数,但过一会儿它会改变。我希望它保持不变。
您可以在您的类中创建一个静态字段,并在程序生命周期中通过从静态构造函数设置它来初始化它:
public class YourClass{
private static readonly int g_RandomInt;
static YourClass(){
g_RandomInt = new Random().Next();
}
public void InstanceMethod()
{
Console.WriteLine(g_RandomInt);
}
}
您可以执行以下操作:
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 。之后,您检查变量是否具有值,然后忽略它。否则你设置它的值。
希望这很有用。