将字节数组初始化为某个值,而不是默认的空值?
这个问题在这里已经有了答案:
对于小型数组,使用数组初始化语法:
var sevenItems = new byte[] { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 };
对于较大的阵列使用一个标准的for
循环。 这是做到这一点最可读和最有效的方式:
var sevenThousandItems = new byte[7000];
for (int i = 0; i < sevenThousandItems.Length; i++)
{
sevenThousandItems[i] = 0x20;
}
当然,如果你需要做很多事情,那么你可以创建一个帮助程序来帮助保持代码的简洁:
byte[] sevenItems = CreateSpecialByteArray(7);
byte[] sevenThousandItems = CreateSpecialByteArray(7000);
// ...
public static byte[] CreateSpecialByteArray(int length)
{
var arr = new byte[length];
for (int i = 0; i < arr.Length; i++)
{
arr[i] = 0x20;
}
return arr;
}
使用它来首先创建数组:
byte[] array = Enumerable.Repeat((byte)0x20, <number of elements>).ToArray();
用所需的数组大小替换<number of elements>
。
您可以使用Enumerable.Repeat()
100个项目的数组初始化为0x20:
byte[] arr1 = Enumerable.Repeat(0x20,100).ToArray();
链接地址: http://www.djcxy.com/p/31491.html
上一篇: Initialize a byte array to a certain value, other than the default null?