我正忙于将一个用C++完成的旧项目重写成C#.
我的任务是重写程序,使其功能尽可能接近原始程序.
在一系列文件处理过程中,编写此程序的前开发人员创建了一个包含大量字段的 struct ,这些字段与文件必须写入的设置格式相对应,所以所有这些工作都已经为我完成了.
这些字段都是字节array.然后,C++代码使用memset
将整个 struct 设置为所有空格字符(0x20
).一行代码.轻松点.
这一点非常重要,因为该文件最终指向的实用程序希望该文件采用这种格式.我要做的是将这个 struct 更改为C#中的一个类,但我找不到一种方法来轻松地将这些字节数组初始化为所有空格字符.
我最终不得不在类构造函数中执行以下操作:
//Initialize all of the variables to spaces.
int index = 0;
foreach (byte b in UserCode)
{
UserCode[index] = 0x20;
index++;
}
这很好用,但我相信一定有更简单的方法来做这件事.当在构造函数中将数组设置为UserCode = new byte[6]
时,字节数组会自动初始化为默认的空值.有没有办法让它在声明时变成全空格,这样当我调用我的类的构造函数时,它就像这样被直接初始化了呢?或者是一些类似memset
的函数?