この質問はここから始まります。VSでこのステートメントを試して、何が起こるかを確認しました。
Len(Name <= 3)
この回答とこれによると、ブール値は4バイトを消費するはずです。MSDNによると、VBのLen関数
文字列内の文字数または変数の格納に必要な公称バイト数のいずれかを含む整数を返します。
Name <= 3
3をStringに変換し、ブール値を返す文字列比較を実行するLen
必要があるため、その中のバイト数を評価する必要があります。これは4である必要があります。何らかの理由で、上記のコードは2番目のパラメーターに関係なく2を返します。言い換えると、Len(True)
2も返します。異なるプラットフォームターゲット(32と64)で試してみました-同じことです。
なぜLen(Boolean)
4ではなく2を返すのですか?