まとまりのないブログ

something which something is something

vb.net

VB.NETの駄目な所

投稿日:2021年1月14日 更新日:

10年ぶりぐらいにvb.netのソースコードを手直ししたのだけれど、あらためてvb.netってよくわからない仕様になっているなと。特に配列とFor文。

配列を宣言すると+1の要素数で作成される

Dim array(4) As Integer

と配列を宣言すると要素数5の配列ができあがる。ちょっと意味がわからない。

For文の比較演算子がひとつだけ

For i = 0 To 10
Console.Write(i)
Next

上記の出力結果は0,1,2,3,4,5,6,7,8,9,10 となり11回出力される。このToという独特な演算子のせいでfor文でループ処理するときに-1を加えるという余計な記述をしなければならなくなる。コード見たときなんで-1してんの?って真剣に悩んだ。

配列の要素は0から始まるが宣言したら指定数+1の要素数で作成されるし、For文は終了条件となる数値から-1しないといけない。別言語で開発をしばらくやってたからこの辺は違和感がものすごい感じる。

.NET Frameworkの良し悪し

.NET(以下略)コンポーネントに微妙なバグというか些細な意図しない動作をするものがちらほら存在する。そのせいで想定外の表示がされたりというストレスもなかなか開発していて感じる。だが、このミドルウェアの後方互換性は素晴らしいと思う。.net2.0環境で10年以上前にWinXP向けに作成したアプリケーションがWin10環境でも普通に起動して使うことができた。

-vb.net

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

no image

リッチテキストボックスに左余白を設定する

備忘。右画像のようにテキストボックス内に左余白を設定する。リッチテキストボックスのプロパティパネル内を見渡しても左余白を設定するプロパティは見つからなかった。右余白については、RightMarginと …

no image

継承と実装

用語がどうもごちゃごちゃしていて頭に入ってきにくい。解説する人によって捉え方が違っていたりするのが原因ではあるのだろうけれど。vb.netにおける継承と実装について。 継承 : inherits 実装 …

no image

listviewのSelectedIndexChangedイベントの挙動

listviewの一覧のアイテムをマウスでクリックして、そのクリックした項目のアイテム名を取得しようとしたら、 Message=”‘0’ の InvalidArgument=Value は ‘inde …

no image

datagridviewのセルのボーダーカラーを変更する

.netframeworkのDataGridViewコントロールのセルのボーダーカラーを変更する。その方法はDataGridViewのプロパティのGridColorを変更することでボーダーカラーは変更 …

no image

windowsアプリケーションにグラフを追加してみる

MSChartを使うことを諦めて別のグラフコンポーネントを探していたところ、visual studio 2005に標準でreportviwerというコンポーネントがあることに気づいた。reportとい …