まとまりのないブログ

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

進捗状況を表示するプログレスバー

プログレスバーの使い方 プログレスバーは、アプリケーションが何かの処理中であることをユーザに知らせてあげるという役割を持っている。時間がかかる処理などの場合にその進行状況をプログレスバーのアニメーショ …

no image

vb2005のカスタムコントロールの初期表示イベント

UserControl イベント http://msdn.microsoft.com/ja-jp/library/system.windows.forms.usercontrol_events.asp …

no image

reportviewer はデータソースが複数あるとわけがわからない状態になる

visual studioのreportviewer コントロールの設定で嵌ってしまったので備忘。reportviwerコントロールをフォーム上に配置したらレポートの設定をするためにrdlcという拡張 …

no image

datagridの内容をmschartに表示

ボツになった案。vb6用のランタイムが無いとmschartは表示することができないので自分は使うことができないけど、誰かほかの人の参考になればと思って。やろうとしてたことのサンプルコードは下記に載せて …

no image

menustripのショートカットキーが効かない

また嵌ってしまったので備忘録。vb.netのmenustripコントロールに配置されたアイテムにshortcutkeysプロパティでキーを割り当てても、ショートカットが機能しない現象について。shor …