2011-12-25 3 views
0

Я работаю над классом для управления файлами STFS, а некоторые из данных, которые мне нужны, - это сотни байтов. Мне интересно, есть ли что-то неправильное в создании массива байтов с этой информацией в исходном коде вместо того, чтобы читать его из файла. Как делать:Данные файла внутри исходного кода?

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

Я думаю, что вы создаёте массив байтов, независимо от того, что вы делаете, но я никогда не видел какого-либо кода, как это, так что я подумал, что это может быть неправильно, или не сделано читабельности.

+0

Что такое файлы STFS? Является ли ваш объект 'data' чем-то вроде заголовка? Собираетесь ли вы создавать или изменять их? – Matthias

+0

Измените их. Это файловая система для xbox 360. – mowwwalker

+0

Для чего вам нужен массив байтов? Проверка? – Matthias

ответ

1

Если речь идет о проверке (например, заголовках) файлов, которые вы читаете, то я думаю, что это нормально, чтобы объявить значения в массиве байтов. Но будьте уверены, что у вас есть только один экземпляр этого в вашем приложении.

Например:

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

Это нормально, если данные относительно мало, и никогда не будет меняться (когда = singnificantly реже, то исходный код).

Conisder следующее при принятии решения:

  • вам нужно прокомментировать данные в источнике (т.е. magicHeader[3]=42;// the answer).
  • является относительно небольшой (я бы сказал, что 256 записей составляет не более)
  • ли это когда-либо изменится (то есть подписи для существующих форматов файлов GIF - 0x47,0x49, 0x46, 0x38, 0x37, 0x61, по существу, набор в камне и никогда не изменится - больше на магических чисел в http://en.wikipedia.org/wiki/Magic_number_(programming)#)

Для больших констант встраивания в приложение в качестве ресурса может быть лучше подойти.

Смежные вопросы