在vb.net中,方法名称后面的美元符号是什么意思

在vb.net中,方法名称后面的美元符号是什么意思,vb.net,vb.net-2010,Vb.net,Vb.net 2010,在vb.net中,方法名称后面的美元符号是什么意思 像这样: Replace$("EG000000", "0", "") 旧类型通知程序- 其他一些旧的: & -> Long % -> Integer # -> Double ! -> Single @ -> Decimal $ -> String 为了向后兼容,VB.Net中仍然存在…在“经典”VB中,有两个版本的内置字符串函数。让我以左为例: Left(s,length)将变量作为第一个参数并

在vb.net中,方法名称后面的美元符号是什么意思

像这样:

Replace$("EG000000", "0", "")
旧类型通知程序-

其他一些旧的:

& -> Long
% -> Integer
# -> Double
! -> Single
@ -> Decimal
$ -> String
为了向后兼容,VB.Net中仍然存在…

在“经典”VB中,有两个版本的内置字符串函数。让我以
为例:

  • Left(s,length)
    将变量作为第一个参数并返回变量
  • Left$(s,length)
    将字符串作为第一个参数并返回字符串
这种区别在现代VBA中仍然存在

我怀疑这背后的原因是VBA中的字符串不能是
Null
(请注意
Null”“
)。因此,在处理可为空的数据库字段时,必须使用变量。变量可以采用任何值,包括所有整数值(字符串、整数等)以及一些特殊值,如
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", "")

为完整起见,您引用的是类型字符,这使得dim s$和dim s as字符串相同。看海因茨的回答,不对。Heinzi的解释是正确的。另外一个解释是关于
VBA
参考。