C# 源代码中的文件数据?

C# 源代码中的文件数据?,c#,data-management,C#,Data Management,我正在开发一个用于管理STFS文件的类,我需要的一些数据有数百字节长。我想知道用源代码中的信息创建字节数组而不是从文件中读取它是否有什么不对。喜欢做: byte[] data = new byte[0x100]{0x23,0x55,0xFF... 我认为不管你做什么,你都在创建一个字节数组,但我从来没有见过这样的代码,所以我认为这可能是错误的,或者不是为了可读性而做的。如果是关于你读取的文件的验证(例如,头),那么我认为在字节数组中声明值是可以的。但请确保,在整个应用程序中只有一个这样的实例

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

byte[] data = new byte[0x100]{0x23,0x55,0xFF...
我认为不管你做什么,你都在创建一个字节数组,但我从来没有见过这样的代码,所以我认为这可能是错误的,或者不是为了可读性而做的。

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

例如:

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

如果数据相对较小且永远不会更改(ever=比源代码少很多次),这是可以的

在作出决定时,应遵循以下原则:

  • 是否需要对源中的数据进行注释(即,
    magicHeader[3]=42;//答案
  • 它是否相对较小(我认为最多256个条目)
  • 它是否曾经改变过(即现有文件格式的签名GIF-
    0x47、0x49、0x46、0x38、0x37、0x61
    基本上是一成不变的,永远不会改变-请参阅中有关幻数的更多信息)

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

什么是STFS文件?您的
数据
对象是否类似于标题?是否要创建或修改它们?请修改它们。它们是xbox 360的文件系统。您需要字节数组做什么?验证?是的,就是这样。