来自 C 背景,我习惯于通过以下方式定义缓冲区的大小:
#define BUFFER_SIZE 1024
uint8_t buffer[BUFFER_SIZE];
你将如何在 C# 中完成同样的事情?
全大写的 K&R 样式是否也适合普通的 C# Pascal/Camel 大小写?
const int BUFFER_SIZE = 1024;
不要使用“静态只读”,因为它会创建一个变量。“const”在构建时被替换并且不创建变量。
public static readonly int BUFFER_SIZE = 1024;
我更喜欢这个而不是 const,因为编译器的恶作剧可能会发生在 const 值上(const 仅用于替换,因此更改值不会在针对原始值编译的任何程序集中更改它)。
不要使用#define。
定义一个常量:private const int BUFFER_SIZE 或只读变量:private readonly 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];