プロが教えるわが家の防犯対策術!

Dim arr(,) As Integer = {{1, 2}, {3, 4}, {5, 6}}

For Each i As Integer In arr
MsgBox(arr(i, 0) & " " & arr(i, 1))
Next

メッセージに「1 2」、「3 4」、「5 6」と順に表示させたいのですがうまくいきません。
どこが悪いのでしょうか。

質問者からの補足コメント

  • どう思う?

    すみません。説明が悪かったです。
    Dim arr(,) As Integer = {{2, 2}, {2, 3}, {3, 5}, {3, 4}, {3, 3}, {3, 2}, {3, 1}}
    実際は上記の順番で、最初のループで2と2を、次のループで2と3を、次のループで3と5を...と2つづつ取得できるようにしたいのですが。
    よろしくお願いします。

    No.1の回答に寄せられた補足コメントです。 補足日時:2022/07/05 14:41
  • うれしい

    すみません。お示しのプログラムではエラーになってしまいました。
    自分で次のプログラムを考えて解決いたしました。ありがとうございました。
    Dim arr(,) As Integer = {{2, 2}, {2, 3}, {3, 5}, {3, 4}, {3, 3}, {3, 2}, {3, 1}}
    ' Co \ 2 → 1,1,2,2,3,3......
    Dim Syu(7, 1) As Integer
    Dim Co As Integer = 2
    For Each i As Integer In arr
    If Co Mod 2 = 0 Then Syu(Co \ 2, 0) = i Else Syu(Co \ 2, 1) = i
    Co += 1
    Next

    For i = 1 To 7
    Magbox(Syu(i, 0) & " " & Syu(i, 1))
    Next

    No.2の回答に寄せられた補足コメントです。 補足日時:2022/07/06 15:17

A 回答 (4件)

skill不足ですみません


でもそのやり方だと汎用性が無いのでこのやり方で試してみて下さい
あと、デバッグするのにブレークポイントとウォッチウィンドウ、コンソールウィンドウは必須かと思います
やり方はGoogle先生に聞いてみて下さい

for i =0 to arr.length
console.write(arr(i,0) & " " & arr(i,1))
next
    • good
    • 0
この回答へのお礼

知りたかったのはこれです。
arr(i,0) と arr(i,1)だけで良かったのですね。
ありがとうございました。簡単になりました。

お礼日時:2022/07/06 21:07

書き出す事( Syu(i, 0) & " " & Syu(i, 1) )だけが目的であるのなら、



Dim arr(,) As Integer = {{2, 2}, {2, 3}, {3, 5}, {3, 4}, {3, 3}, {3, 2}, {3, 1}}

Dim str = Enumerable.Range(0, arr.GetLength(0)).Select(Function(x) arr(x, 0) & " " & arr(x, 1)).ToArray()

For Each z As String In str
Console.WriteLine($"{z}")
Next

結果:
2 2
2 3
3 5
3 4
3 3
3 2
3 1

とかも?
    • good
    • 1
この回答へのお礼

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

お礼日時:2022/07/06 21:08

For Each o as Object In arr


 MsgBox(o(0) & " " & o(1))
Next
でも
For Each o as Object In arr
 For Each o2 as Object In o
  MsgBox(o2)
 Next
Next
でも
この回答への補足あり
    • good
    • 0

for文とfor eachを上手く使い分けて下さい


for:カウンタを加算しながらループさせる処理
for each:要素数だけループさせる処理
 ループさせると同時に1個1個要素を変数に入れるという便利な機能

今回はこうやると楽かも
For Each o as Object In arr
MsgBox(Join(o," "))
Next
※For Each i() As Integerが上手く通るか分からないから
 Object型で逃げましたw

色々試して経験を積んでいってください
この回答への補足あり
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています