iSAMrx72's 思い付きBlog

今、新しいアカウントではじめました、への投稿となります。https://blog.goo.ne.jp/isamrx72

VBで遊んでました。No22。二次元の配列とジャク配列。

2015-04-24 08:07:10 | プログラミング言語

Module Module1

    Sub Main()
        Dim i As Integer = 100
        Dim j As Integer = 200
        Console.WriteLine(i)
        Console.WriteLine(j)

        Dim k As New Integer()
        k = 300
        Console.WriteLine(k)

        Dim l As New Integer
        l = 400
        Console.WriteLine(l)

        Dim m() As Integer = {10, 20, 30, 40, 50}
        For i = 0 To m.Length - 1
            Console.Write(String.Format("{0, 3}", m(i)))
        Next
        Console.WriteLine()

        Dim n(,) As Integer = {{10, 20, 30}, {40, 50, 60}, {7, 8, 9}, {10, 11, 12}}
        For i = 0 To n.GetUpperBound(0)
            For j = 0 To n.GetUpperBound(1)
                Console.Write(String.Format("{0, 3}", n(i, j)))
            Next
            Console.WriteLine()
        Next

        Dim jj()() As Integer = {New Integer() {12, 13}, New Integer() {33, 44}, New Integer() {100, 200, 300}}
 
        For i = 0 To jj.Length - 1
            For j = 0 To jj(i).Length - 1
                Console.Write(String.Format("{0, 4}", jj(i)(j)))
            Next
            Console.WriteLine()
        Next


    End Sub

End Module

Integerの変数を宣言するときは、普通は

Dim i as integer

とするのが普通ですね。これで使えるようになるのでしょう。なので

i=10

とか書けるんですよね。一方で配列とかは宣言と実体、インスタンスと言って良いのか?

が別なんでしょうかね?例えば個人を表すPersonクラスを作成した場合は

Dim aP as Person

と書けます。でもインスタンスの生成は別にする必要があるはず。

aP = New Person() '最後の()が欲しい場合と要らない場合の区別がつかない。

今混乱してるのはNewとの関係です。多分ですが、参照型のオブジェクトになる場合は

使うんですかね。

Dim k As New Integer()

Dim l As New Integer

Dim n(,) As Integer = {{10, 20, 30}, {40, 50, 60}, {7, 8, 9}, {10, 11, 12}}

Dim jj()() As Integer = {New Integer() {12, 13}, New Integer() {33, 44}, New Integer() {100, 200, 300}}
 

とかも書けるし、何か混乱中です。(^0^)

色んな書き方が出来るが、分かったようで、よく分かりません。(^0^)VB

以下は多分ですが、VBは以前からの書き方があったので、integer型の変数を確保するときは

Newを使わないのかも知れません。無理して使える場面もあるようです。一方でクラスのインスタンスは

Newを使わないで確保する方法が無いでしょう。こちらは比較的に新しいですからね。

()と{}の必要性も分かりません。()については配列を確保するときは、必須です。1個のintegerでも

使えないわけでも無いようです。

{}は初期化するときは使うのですが、Integer、String型については=で行うことが出来る。

やっぱり訳が分からんですかね。(^0^)

まあ、でも入力した時点で駄目であれば修正を求められます。普通にやっていればです。

editorなどで書いてる場合は、勿論コンパイル時点で修正するしか無いですね。



最新の画像もっと見る

2 コメント

コメント日が  古い順  |   新しい順
Unknown (coconuts)
2015-04-26 21:18:04
なにやら難しいお悩みを抱えていらっしゃるようですね。(^-^;;

以下のサイトが参考になるかも知れませんので、覗いて下さ~い >^O^;;

https://msdn.microsoft.com/ja-jp/library/dd314344.aspx

https://msdn.microsoft.com/ja-jp/library/dd314345.aspx

            
返信する
悩みと言えば、そうですが… (isam)
2015-04-28 17:50:24
 趣味でVBなどをいじってるので、悩みでは無いです。只単にどうやれば出来るのかを、知りたい。だけです。

 目的が無いで理解したい、中々マスターできませんし、野望も無い。

 理解出来ないのは、他の人から見れば、何してるのってことだと思います。(^0^)

 これが趣味なんでしょうかね。
返信する

コメントを投稿