Исходя из фона C, я привык определять размер буфера следующим образом:
#define BUFFER_SIZE 1024 uint8_t buffer[BUFFER_SIZE];
Как бы вы сделали то же самое в C #?
Также подходит ли стиль K & R для всех заглавных букв с обычным C # Pascal / Camel?
Лично я предпочитаю постоянные:
private const int BUFFER_SIZE = 1024;
Хотя, если он общедоступный и вы фреймворк, вы можете захотеть, чтобы он был доступен только для во избежание перекомпиляции клиента .
const int BUFFER_SIZE = 1024;
Не используйте «статическое чтение только», поскольку оно создает переменную. «const» заменяются во время сборки и не создают переменных.
public static readonly int BUFFER_SIZE = 1024;
Я предпочитаю это над const из-за shenanigans , который может произойти со значением const (const просто используется для замены, поэтому изменение значения не изменит его в любой сборке, скомпилированной с оригиналом ).
Не используйте # define.
Определение константы: private const int BUFFER_SIZE или переменная только для чтения: приватная только для чтения int BUFFER_SIZE
В C # я решил сделать это следующим образом:
//C# replace C++ #define struct define { public const int BUFFER_SIZE = 1024; //public const int STAN_LIMIT = 6; //public const String SIEMENS_FDATE = "1990-01-01"; } //some code byte[] buffer = new byte[define.BUFFER_SIZE];