2011-07-14 37 views
5

我宣布一个字节数组是这样的:C#:为什么不以字节数组初始化工作?

Byte[] b = new Byte[10]; 

,并指定一些值:

for (int i=0; i<b.Length; i++) 
{ 
    b[i] = 1; 
} 

现在我想再次归零阵列,并呼吁:

b.Initialize(); 

其没有按没有工作。阵列保持不变。不是一个值类型的数组?

+1

Array.Clear可能是你正在寻找 – Jimmy

回答

11

MSDN

注意

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

byte是本地人。

+1

也许从MSDN文章最能说明什么:“这种方法的目的是帮助编译器支持的价值型阵列,大多数用户并不需要这个方法。” – user7116

+0

@Marc:是的,我没有在MSDN阅读警告说明不够仔细。 – chessweb

+1

@Ramhound不,它不会做这样的事情。这创建了一个新的阵列;除了变量外,它什么都不重置。它绝对不会重新初始化数组。 –