源代码里面的文件数据?

时间:2011-12-25 05:27:47

标签: c# data-management

我正在开发一个用于管理STFS文件的类,我需要的一些数据是数百字节长。我想知道在源代码中创建一个包含该信息的字节数组是否有什么问题,而不是从文件中读取它。喜欢这样做:

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

我认为无论你做什么,你都在创建一个字节数组,但是我从未见过这样的代码,所以我认为这可能是错误的,或者为了可读性而没有。

2 个答案:

答案 0 :(得分:1)

如果是关于您阅读的文件的验证(例如,标题),那么我认为可以在字节数组中声明值。但请确保,在整个应用程序中只有一个实例。

例如:

static class STFSValidation
{
     public static readonly byte[] Header = new byte[] { ... };
}

答案 1 :(得分:1)

如果数据相对较小并且不会发生变化,那就没问题了(与源代码相比,经常变得非常少)。

Conisder在做出决定时遵循:

  • 您是否需要对来源中的数据进行评论(例如magicHeader[3]=42;// the answer)。
  • 它相对较小(我说最多256个条目)
  • 它是否会发生变化(即现有文件格式的签名GIF - 0x47,0x49, 0x46, 0x38, 0x37, 0x61基本上是一成不变的,不会改变 - 请参阅http://en.wikipedia.org/wiki/Magic_number_(programming)#中有关幻数的更多信息)

对于大型常量blob嵌入到应用程序中作为资源可能是更好的方法。