我有一个很长的字节数组需要在我的C#代码中声明。我会像这样做:
public static class Definitions
{
public const byte[] gLongByteArray = new byte[] {
1, 2, 3,
//and so on
};
}
但我收到一个错误,说常量数组只能用 null 初始化。
如果我把 const
改成 static
,代码就会编译通过。但我有一个问题:如果我将它声明为 public static byte[] gLongByteArray
,那么它不会在每次加载我的应用程序时被初始化,对吗?在这种情况下,gLongByteArray
只是指向在编译的 exe/dll 文件中定义的数组,它加载到内存中。我问这个问题的原因是因为这个数组相当长,我不想让我的程序在每次启动应用程序时浪费 CPU 周期来加载它,更糟糕的是,这个类被引用了……