C#:为什么';不能用字节数组初始化工作吗?

C#:为什么';不能用字节数组初始化工作吗?,c#,C#,我声明一个字节数组,如下所示: Byte[] b = new Byte[10]; 并指定一些值: for (int i=0; i<b.Length; i++) { b[i] = 1; } 这不管用。阵列保持不变。b不是值类型数组吗?请参见: 小心 只能对具有构造函数的值类型使用此方法;但是,C#固有的值类型没有构造函数 byte是本机的。也许MSDN文章中最能说明问题的是:“此方法旨在帮助编译器支持值类型数组;大多数用户不需要此方法。”@Marc:对,我没有仔细阅读MSDN中的

我声明一个字节数组,如下所示:

Byte[] b = new Byte[10];
并指定一些值:

for (int i=0; i<b.Length; i++)
{
    b[i] = 1;
}
这不管用。阵列保持不变。b不是值类型数组吗?

请参见:

小心

只能对具有构造函数的值类型使用此方法;但是,C#固有的值类型没有构造函数


byte
是本机的。

也许MSDN文章中最能说明问题的是:“此方法旨在帮助编译器支持值类型数组;大多数用户不需要此方法。”@Marc:对,我没有仔细阅读MSDN中的注意事项。@Ramhound不,它不会做这种事情。创建一个新数组;除变量外,它不重置任何内容。它绝对不会重新初始化数组。该方法是否适用于允许值类型具有非平凡默认构造函数的语言?array.Clear可能就是您要查找的
b.Initialize();