0

STFS ファイルを管理するためのクラスに取り組んでいますが、必要なデータの一部は数百バイトの長さです。ファイルから読み取るのではなく、ソースコードでその情報を使用してバイト配列を作成することに問題があるかどうか疑問に思っています。することが好き:

byte[] data = new byte[0x100]{0x23,0x55,0xFF...

何をしてもバイト配列を作成していると思いますが、そのようなコードを見たことがないので、間違っているか、読みやすさのために行われていない可能性があると思いました。

4

2 に答える 2

1

データが比較的小さく、変更されない場合は問題ありません(=ソースコードよりも大幅に少ない頻度で)。

決定を下すときは、次のことを考慮してください。

  • ソース内のデータにコメントを付ける必要がありますか(つまりmagicHeader[3]=42;// the answer)。
  • 比較的小さいですか(256エントリが最大だと思います)
  • 変更されることはありますか(つまり、既存のファイル形式GIFの署名0x47,0x49, 0x46, 0x38, 0x37, 0x61は基本的に石で設定されており、変更されることはありません-マジックナンバーの詳細については、http://en.wikipedia.org/wiki/Magic_number_ (programming)#を参照してください)

大きな定数BLOBの場合、リソースとしてアプリケーションに埋め込む方がよい場合があります。

于 2011-12-25T06:25:49.663 に答える
1

If it is about validation (e.g., headers) of files you read, then I think it is okay, to declare the values in a byte array. But be sure, that you have only one instance of that in your whole application.

For instance:

static class STFSValidation
{
     public static readonly byte[] Header = new byte[] { ... };
}
于 2011-12-25T05:58:18.457 に答える