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

时间:2011-12-01 12:38:47

标签: vb.net vb.net-2010

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

像这样:

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

3 个答案:

答案 0 :(得分:34)

旧版通知程序 - see this

其他一些旧的:

& -> Long
% -> Integer
# -> Double
! -> Single
@ -> Decimal
$ -> String

为了向后兼容,仍然存在于VB.Net中......

答案 1 :(得分:23)

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

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

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

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

在VB.NET中,不再需要这种区别:非$函数与$函数完全相同,$函数只保留与旧代码的向后兼容性。

答案 2 :(得分:6)

海因兹所说的并清理类型角色业务

    Dim s$ = "FooBar" 'dim s as String = "FooBar"

    Dim r As String
    Stop

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