2011-07-14 15 views
5

私はこのようなバイト配列を宣言:C#:バイト配列で初期化できないのはなぜですか?

Byte[] b = new Byte[10]; 

といくつかの値を割り当てる:

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

今、私は再び配列をゼロと呼びたい:どのdoesnの

b.Initialize(); 

を仕事はありません。配列は変更されません。 bは値型の配列ではありませんか?

+1

Array.Clearはおそらくあなたが探しているものでしょう – Jimmy

答えて

11

MSDNを参照してください:

注意

あなたが唯一のコンストラクタを持っている値の型に、このメソッドを使用することができます。ただし、C#にネイティブな値型にはコンストラクタがありません。

byteはネイティブです。

+1

おそらくMSDNの記事から、「このメソッドは、値型配列をサポートするコンパイラを支援するために設計されているため、ほとんどのユーザーはこのメソッドを必要としません。 – user7116

+0

@Marc:そうですね、私は注意深くMSDNの注意書きをよく読んでいませんでした。 – chessweb

+1

@Ramhoundいいえ、そんなことはしません。これは新しい配列を作成します。変数を除いて何もリセットしません。絶対に配列を再初期化しません。 –

関連する問題