まとまりのないブログ

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

今月の年月の値を取得する

sqlのwhere句に使うための検索条件を作るときに迷ってしまったので覚え書き。まあ、出来てしまえばなんてことは無かったけれど、フォーマットとか関数とか調べても年月のみを取得するメソッドが見当たらなか …

no image

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

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

no image

listviewのSelectedIndexChangedイベントの挙動

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

no image

文字列中にある一部分だけを置き換える

備忘。正規表現を使ってある条件にマッチする場合、その文字列の一部分を別の文字列に置き換える、ということをやってみる。たとえば次のような文字列があったとする。 “00 abcde&#8221 …

no image

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

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