一回も披露したことのない豆知識

二次元配列に関して質問があります。

二次元配列を定義します。
Dim a(,) As Integer = _
{{0, 0, 0, 0, 0, 0, 1, 1, 1}, _
{0, 0, 0, 0, 0, 1, 0, 0, 1}, _
{0, 0, 0, 0, 0, 0, 1, 1, 1}}

一次元配列を定義します。
Dim b() As Integer

一次元配列のb()に二次元配列a(,)の
{0, 0, 0, 0, 0, 0, 1, 1, 1}の部分を
入れようとした場合、
どのように記載すればよろしいでしょうか?
イメージ的には
b = a(0)
で出きると思ったのですが、
構文エラーとなってしまいます。

よろしくお願いします。

A 回答 (2件)

  求めているものとは違く、また既にご存知のものかもしれませんが・・・。



  2次元配列の定義を以下のようにすれば、ご希望の操作が出来ます。

  ※配列の定義が(,)ではなく()()になるため、2次元配列の参照が変わります。

  '----------------------------------------------------------------------------
  Dim array_a()() As Integer = _
                {New Integer() {0, 0, 0, 0, 0, 0, 1, 1, 1}, _
                New Integer() {0, 0, 0, 0, 0, 1, 0, 0, 1}, _
                New Integer() {0, 0, 0, 0, 0, 0, 1, 1, 1}}

  Dim b() As Integer
  Dim c As Integer

  b = array_a(0)   ' {0, 0, 0, 0, 0, 0, 1, 1, 1}の部分を代入
  b = array_a(1)   ' {0, 0, 0, 0, 0, 1, 0, 0, 1}の部分を代入

  c = array_a(2)(7)  ' {0, 0, 0, 0, 0, 0, 1, 1, 1}の7番目 '1'を代入

  '----------------------------------------------------------------------------
    • good
    • 1
この回答へのお礼

ありがとうございます。
この方法でうまくいきました。

お礼日時:2007/04/05 10:15

ループを回すのが、スタンダードなアルゴリズムだと思います。

    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2007/04/05 10:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報