| 分類:[C#]
C でいう定数テーブルを C# で作りたいんですが、どう書くと一番効率よくて安全ですかね?
C ソース uint16_t const crc16usb[] = { 0x0000, 0x8005, 0x800F, 0x000A, 0x801B, 0x001E ... };
要するにコンパイル時に値が決定済みな静的定数テーブルを唯一つだけ定数領域に置いてプログラムと同じ寿命を持たせる、つまり gc 対象にしたくないわけなのですが C# の配列は参照型で new しないと作れないので gc 対象になるのがどうも気に入りません。 readonly UInt16[] crc16usb = new UInt16[] { ... }; をクラスメンバに置くのは効率悪いと思うし readonly を const にするとコンパイル通らないし。
|