C# コードで宣言する必要がある長いバイト配列があります。私はこのようなことをします:
public static class Definitions
{
public const byte[] gLongByteArray = new byte[] {
1, 2, 3,
//and so on
};
}
しかし、const 配列が null でのみ初期化される可能性があるというエラーが表示されます。
変更const
するstatic
とコンパイルされますが、問題はこれです-public static byte[] gLongByteArray
アプリが読み込まれるたびに初期化されないので宣言するときですよね?その場合、gLongByteArray
変数は、メモリに読み込まれるコンパイル済みの exe/dll ファイルで定義されている配列を指すだけです。私が尋ねている理由は、この配列がかなり長く、アプリが起動するたびに、またはさらに悪いことに、このクラスが参照されるたびにプログラムが CPU サイクルを浪費したくないからです...