DOBON.NETプログラミング道掲示板

■34360 / 1階層)  Newの使い方間違ってますか?
□投稿者/ 魔界の仮面弁士 大御所(1250回)-(2019/11/05(Tue) 14:16:30)
  • アイコンNo34359に返信(VBはじめましたさんの記事)
    > Dim Frm4 As New Form 'Sub Form.New()
    これは
     Dim Frm4 As New Form()
    の省略形です。

    メソッドやコンストラクタの呼び出し時には、
    引数を指定するための丸括弧が必要とされますが、
    引数が 0 個の場合に限り、丸括弧を省略できます。


    > Dim Int42() As Integer = New Integer() {1, 2, 3, 4, 5} 'Integer()
    こちらの括弧は引数指定のためのものではなく、配列宣言を意味します。

    > Dim Int41 As Integer()
    > Int41 = New Integer() {1, 2, 3, 4, 5} 'Integer()
    この丸括弧も、配列宣言のためのものですね。
    Int42 と同様、宣言部と配列初期化子を組み合わせて
     Dim Int41 As Integer() = New Integer() {1, 2, 3, 4, 5}
    とも書けます。


    > Dim Int43 = New Integer() {1, 2, 3, 4, 5} 'Integer()
    > Dim Int44 As New Integer() 'Sub Integer.New()
    前者の丸括弧は「配列」のためのものです。※配列初期化子
    後者の丸括弧は「引数」のためのものです。※構造体の既定のコンストラクタ

    先の Form 宣言と対応する形で並べれば、
     Dim Frm4 As New Form() 'Form クラスの引数0個のコンストラクタ呼出
     Dim Int44 As New Integer() 'Integer 構造体の既定のコンストラクタ呼出
    となります。どちらも引数指定です。


    引数 0 個の場合、丸括弧を省略できますので、
     'Dim Int44 As New Integer()
     Dim Int44 As New Integer
    とするのは OK ですが、配列宣言の括弧を省略すると意味が変わってくるため
    Int41〜Int43 については丸括弧が必須です。


    Dim Int44 As New Integer()
       ↓
    Dim Int44 As Integer = New Integer()
       ↓
    Dim Int44 As Integer = 0
違反を報告
削除キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Newの使い方間違ってますか? /VBはじめました 返信無し
 
上記関連ツリー

Nomalアイコン Newの使い方間違ってますか? / VBはじめました (19/11/05(Tue) 13:47) #34359
Nomalアイコン Newの使い方間違ってますか? / 魔界の仮面弁士 (19/11/05(Tue) 14:16) #34360 ←Now
Nomalアイコン Re[1]: Newの使い方間違ってますか? / 魔界の仮面弁士 (19/11/05(Tue) 14:25) #34361
  └Nomalアイコン Re[2]: Newの使い方間違ってますか? / VBはじめました (19/11/05(Tue) 16:07) #34362
    └Nomalアイコン 解決済み押し忘れ / VBはじめました (19/11/05(Tue) 16:08) #34363 解決み!

All 上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信

Mode/  Pass/


- Child Tree -