vb.netのメソッド名の後のドル記号の意味は何ですか
このような:
Replace$("EG000000", "0", "")
古いタイプの通知子- これを参照
他のいくつかの古いもの:
& -> Long
% -> Integer
# -> Double
! -> Single
@ -> Decimal
$ -> String
下位互換性のためにVB.Netにはまだ存在しています...
「クラシック」VBには、組み込みの文字列関数の2つのバージョンがありました。例としてLeft
を使用しましょう。
Left(s, length)
は、最初のパラメーターとしてvariantを取り、variantを返します。Left$(s, length)
は、最初のパラメーターとしてstringを取り、stringを返します。この区別は、現代のVBAにもまだ存在しています。
この背後にある理由は、VBAの文字列をNull
にすることはできないためだと思います(_Null <> ""
_に注意してください)。したがって、null許容データベースフィールドを処理するときは、バリアント変数を使用する必要がありました。 Variant変数は、すべての整数値(文字列、整数など)だけでなく、Null
、Empty
などの特別な値を含む任意の値を取ることができます。またはMissing
。 $以外の関数を使用すると、バリアントを入力として使用し、バリアントを出力として取得できます。たとえば、Left(Null, ...)
はNull
を返します。
VB.NETでは、この区別は不要になりました。$以外の関数は、古いコードとの下位互換性のためにのみ保持される$関数とまったく同じように機能します。
ハインジが言ったこととタイプキャラクタービジネスを片付けるために
Dim s$ = "FooBar" 'dim s as String = "FooBar"
Dim r As String
Stop
r = Replace$(s, "Bar", "")
'.Net equivalent
r = s.Replace("Bar", "")