在vb.net中的方法名称后面的美元符号的含义是什么

what is the meaning of the dollar sign after a method name in vb.net

在vb.net中,美元符号在方法名后面的含义是什么?

这样地:

1
Replace$("EG000000","0","")

旧类型通知程序-请参阅

其他一些旧的:

1
2
3
4
5
6
& -> Long
% -> Integer
# -> Double
! -> Single
@ -> Decimal
$ -> String

为了向后兼容,在vb.net中仍然存在…


在"经典"VB中,有两个内置字符串函数版本。以Left为例:

  • Left(s, length)将变量作为第一个参数并返回变量。
  • Left$(s, length)将一个字符串作为第一个参数并返回一个字符串。

这种区别在现代的VBA中仍然存在。

我怀疑这背后的原因是vba中的字符串不能是Null(注意Null <>"")。因此,在处理可为空的数据库字段时,必须使用变量。变量可以取任意值,包括所有整数值(字符串、整数等)以及一些特殊值,如NullEmptyMissing。非$函数允许您使用变量作为输入,并将变量作为输出。例如,Left(Null, ...)返回Null

在vb.net中,这种区别不再是必要的:非$函数与$函数的作用完全相同,后者只保留用于与旧代码向后兼容。


海因茨所说的话,并澄清类型特征业务

1
2
3
4
5
6
7
8
    Dim s$ ="FooBar" 'dim s as String ="FooBar"

    Dim r As String
    Stop

    r = Replace$(s,"Bar","")
    '.Net equivalent
    r = s.Replace("Bar","")