読者です 読者をやめる 読者になる 読者になる

VB.NET

VB.NETでもReDimで配列の大きさを変更したい

はじめに 適当に『UnicodeはUnix Codeの略でUnixで使われている文字コード体系なんですよ〜』なんてホラ吹いていたら本気にされました。 多分バレたら殺されます。 さて今回は使いどころが正直思いつかないReDimステートメントのお話です。 ReDim ステートメ…

他言語転向組が知るべきVB.NETのこと

初めに VBという言語に触れてから暫くたったのですがVBがJavaやC#、Pythonなどの言語とはかなり違った作法を持ち、その辺に苦しめられたのでそれに関するメモ的な何かです。 結論から言うと、VBが不愉快な挙動をしたら速攻でIL逆アセンブラを起動してアセン…

C#でもVB.NETの超便利なメソッドを使いたい111111111

はじめに いろいろごめんなさい。 超便利メソッド VB.NETにはLen(int)とかLen(char)とかLen(string)とかの超便利メソッドがたっくさんありますよね。 でもそれらのメソッドはC#では使えない。不便だと思いません? それらをC#でも使えるようにするためのメモ…

VB.NETでもジェネリックなメソッドを実装したい

気分の問題 これまた特に需要なんてものはないんですが、VBで型パラメータで指定したインスタンスを生成したりするメソッドを定義したくなったのでちょっと調べてみました。 リフレクションと組み合わせたら泥沼のコードをいっぱい書けるんじゃないかなーっ…

VB.NETでもCType演算子をオーバーロードして値を変換したい

生ハムメロンパン これまた特に需要は無かったんですが、意味なくクラスを別のクラスへ変換したかったんでCTypeについて調べてみました。 演算子と関数 なんか調べてみると自分でオーバーロードするCType演算子と変換を実行するCType関数の二種類があるみた…

VB.NETでもリフレクションで(途中略)メソッドを実行したい

タイトル補足 特に需要なんてものは無かったんですが、自作の属性をメソッドに付与してその属性が付与されたメソッドをリフレクションを用いて実行時に取得して一括実行するにはどうすればいいのか気になったので調べました。 流れ 大体以下の流れで処理を記…

VB.NETでも独自のエンコーディングを実装したい(後編)

いきなり最終話 最近は再び艦これにハマりだした弊社です。 榛名殿がワンパンで駆逐艦を沈めたのち戦艦からのワンパン大破で即撤退という流れが一般化しつつあります。 そんなこんなでVB.NETでエンコーダ・デコーダを実装するというお話は規模を縮小してその…

VB.NETでも置換フォールバックで無限ループしたい

タイトル 意味不明なタイトルで大変恐縮ですが、要するに置換フォールバックって指定したエンコードスキームでエンコできない文字に当たった時に大体の文字を指定するフォールバック戦略でしたよね。 それだったら置換先にそのエンコードスキームでエンコで…

VB.NETでもLinqでGroupByしたい

あっちの進捗 ここ数回の記事を見返してサブカルネタを多用しすぎではないかと一人反省している弊社です。 今回は使わないように頑張ります。 どうもエンコーダ・デコーダはCOM連携としてポインタを引数としてとるメソッドも定義しないといけないみたいで、…

VB.NETでも独自のエンコーディングを実装したい(前編)

さぁエディタが下からグイッとパンしてビルドエラーがどーん 窓際で軽く・・・じゃなくてどうもこんにちは。 最近は名前空間の別名だ等値演算子だのよくある『VB.NETお助けまとめサイト』の内容の様なフツーにmsdnを読めば分かるようなちょっとしたテクニッ…

VB.NETでもLenメソッドを・・・

お願い VisualBasic相談室 VB.NET特有*1のMicrosoft.VisualBasic.Strings.Lenメソッドってありますよね。 Strings.Len メソッド (Microsoft.VisualBasic) 正直弊社はアレは好きになれないんですよね。 説明文が正直意味がよくわかんないし。 文字列内の文字…

VB.NETでも名前空間に別名を付けたい

別名 VB.NETは(無論C#もですよ)名前空間に別名を付けられます。 Imports コンソール = System.Console Imports AAB = ImportAlias.Hoge.AAA Imports BBA = ImportAlias.Hoge.Fuga.BBB Module Module1 Sub Main() Dim bba = New BBA() bba.SubBBB() Dim aab…

VB.NETでも独自の等値演算子を実装したい

謝意二ング all work and no play makes jack a dull boy ではなく、前回の記事を書いていた時私はとんでもない勘違いをしていました。 正直今まで真面目にVB.NETでオブジェクト指向プログラミンをした事がなく、そうなると真面目にクラスを実装したことがあ…

VB.NETでも等値演算子で文字列を比較したい

言い訳 もしかしたら生粋のVBプログラマなら常識的なことなのかもしれませんが、等値演算子『=』(で呼び方あってますよね?)で文字列を比較するときに空文字とNothingの比較でつまずいたのでそれのメモ。 なんで違う? 以下のC#とVB.NETのコードを見て、実…

VB.NETだってDecimalの小数点以下の桁数を知りたい

ばっど☆のうはう System.Deciamlの小数点以下の数字を取得する方法について少し調べたことがあったので、それについてのメモです。 結論的にはいささかバッドノウハウ感が漂う感じになります。 いくらAPIが内部データ構造を公開しているからってそれを取り出…

VB.NETでも部分適用された関数を返す関数を書きたい

部分適用された関数 私は関数型プログラミングについてそこまで精通しているわけではないので間違ったことを言っちゃうかもです。 って前置きをしておいてからの本題ですが、今書いているプログラムであらかじめ値を適用された関数を受け取り、その関数をす…

Option Strict On ノススメ

Option Strict VB.NETにはOption Strictステートメントがあります。 暗黙的な型変換をコンパイル時に検出してくれるみたいですが、具体的にどんなことをやってくれるのか気になったので調べてみました。 困ったときのmsdn頼み とりあえずmsdnの該当ページを…

VB.NETだってLinqしたい

Linqとは Linq(統合言語クエリ)とはとかって書こうと思ったけど、どうせWikiなり他のサイトにたっくさん書いてあるんでまぁ書かなくても良いかなとおもいました。 いくつか種類のあるLinqですが、ここでは Linq to Object(コレクションに関する操作)につ…

Hello World

こんにちは世界 最初の記事なので、最初らしくHello Worldから始めます。 環境 ここではコマンドプロンプトとエディタで開発をします。 コンパイラまでのパスが通してあるコマンドプロンプトとお好きなメモ帳を起動します。 コンパイルからの実行 Option Str…