電気ウナギ的○○

About Home

VB.NET で配列の宣言、糞面倒くせえ

shinoda (2015年2月26日 12:45)
まあ、型宣言の必要ない Perl を使うことが多いから色々不満なだけだけど・・・(^^;

VB.NET で配列使うの、糞面倒くせえ。

Dim areaSubTotal(,) As Integer
For i = 0 To 1
    For j = 0 To 24
        areaSubTotal(i, j) = 0
    Next
Next

とかしちゃうと、「オブジェクト参照がオブジェクト インスタンスに設定されていません。」になっちゃう。

まあ、これだと「値が割り当てられる前に使用されています。Null 参照の例外が実行時に発生する可能性があります。」な警告が発生するので、とりあえず Nothing をセットして、

Dim areaSubTotal(,) As Integer = Nothing

とかしても、「オブジェクト参照がオブジェクト インスタンスに設定されていません。」エラーになっちゃう。まあ、これは当然なんだけど(^^;

仕方ないので、

Dim areaSubTotal(,) As Integer = {}

と宣言してインスタンスを作ると、これだと length = 0 の配列インスタンスが作られちゃうので、いざ値をセットしようとした時に「インデックスが配列の境界外です。」なエラーになっちゃう。

じゃあ、配列の数をちゃんとセットしとこうと、

Dim areaSubTotal(1, 24) As Integer = {}

としたら「明示的な初期化は、明示的な境界で宣言された配列に対しては許可されません。」だって(^^;

結局、

Dim areaSubTotal(,) As Integer = New Integer(1, 24) {}

こうか。
これでOK。

糞面倒くせえ。
いや、「オブジェクト指向だからしょうがない。配列もクラスだから」と言いたいんだろうが、これはコードの書き方の問題や!!
内部的にどうにでもできるやろ。せめて、

Dim areaSubTotal(1, 24) As Integer = {}

この書き方くらいはOKにせえや!!・・・と思った話。

電気ウナギ的○○

電気ウナギ的○○

About Back

コメント(0)

電気ウナギ的○○

電気ウナギ的○○

About Back

トラックバック(0)

トラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/3334

電気ウナギ的○○

About This Site

電気ウナギ的○○
岩国在住。広島で働く超零細IT企業社長のいわゆる社長日記。
何か、酒と食い物のことばかり書いているようで・・・お察しのとおり、肥満体です:-)


2011/06/24
iPhone用サイト公開

Create with jQuery, jQTouch.


CLOSE