vb.net中方法名称后的美元符号是啥意思
Posted
技术标签:
【中文标题】vb.net中方法名称后的美元符号是啥意思【英文标题】:what is the meaning of the dollar sign after a method name in vb.netvb.net中方法名称后的美元符号是什么意思 【发布时间】:2012-01-10 14:36:20 【问题描述】:vb.net中方法名后面的美元符号是什么意思
像这样:
Replace$("EG000000", "0", "")
【问题讨论】:
【参考方案1】:旧类型通知器 - see this
其他一些旧的:
& -> Long
% -> Integer
# -> Double
! -> Single
@ -> Decimal
$ -> String
为了向后兼容,VB.Net 中仍然存在...
【讨论】:
为了完整起见,MSDN Link. 您引用的是类型字符,它使 dim s$ 和 dim s 作为字符串相同。请参阅 Heinzi 的回答。 不正确。 Heinzi 的解释是正确的。【参考方案2】:在“经典”VB 中,有两个版本的内置字符串函数。我以Left
为例:
Left(s, length)
将 variant 作为第一个参数并返回一个 variant。
Left$(s, length)
将 string 作为第一个参数,并返回一个 string。
这种区别在现代 VBA 中仍然存在。
我怀疑这背后的原因是VBA中的字符串不能是Null
(注意Null <> ""
)。因此,在处理可为空的数据库字段时,您必须使用变体变量。 Variant 变量可以采用任何值,包括所有整数值(字符串、整数等)以及一些特殊值,例如 Null
、Empty
或 Missing
。非 $ 函数允许您使用变体作为输入并将变体作为输出。例如,Left(Null, ...)
返回Null
。
在 VB.NET 中,不再需要这种区别:非 $ 函数的作用与 $ 函数完全相同,保留这些函数只是为了与旧代码向后兼容。
【讨论】:
加一个VBA
参考。【参考方案3】:
Heinzi 说什么以及清理字体业务
Dim s$ = "FooBar" 'dim s as String = "FooBar"
Dim r As String
Stop
r = Replace$(s, "Bar", "")
'.Net equivalent
r = s.Replace("Bar", "")
【讨论】:
以上是关于vb.net中方法名称后的美元符号是啥意思的主要内容,如果未能解决你的问题,请参考以下文章
在 IntelliJ IDEA 中调试 Java 期间生成的变量名称中的美元符号是啥意思?是闭包吗?