6

ネットで見つけたプログラムを試しています。ステートメントの最後に中括弧を付ける必要があるのはなぜですか? 「Byte has no constructors」というエラーが発生します。

Dim data As Byte() = New Byte(1023) {}

このようなコードを配置することもできません。「バイトは1次元配列にすることはできません」というエラーが発生します。

Dim arr As Byte() = New Byte()

なぜこれが起こっているのか説明してもらえますか?

4

2 に答える 2

14

いくつかのフレーバー

    Dim b() As Byte 'b is nothing
    Dim b1(1023) As Byte 'b1 is an array of 1024 elements, all equal to 0
    Dim b2() As Byte = New Byte() {85, 99, 1, 255} 'four elements

    b = New Byte() {} 'zero element array
    b = New Byte() {1, 2} 'two element array

推論は一般的に悪い考えです。

于 2011-02-19T16:02:30.333 に答える
7

中括弧を付けないと、単一のオブジェクトに対してコンストラクターを呼び出そうとしていることになるため、中括弧が必要です。これは、さまざまな理由でエラーになります。

  1. 単一のオブジェクトを配列に割り当てることはできません。(これは常に真です。)
  2. Byteコンストラクタはありません。(これは、この特定のケースにのみ当てはまります。)
于 2011-02-19T03:04:30.190 に答える