2011-12-01 36 views
26

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

这样之后,美元符号的含义:

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

回答

29

老式通知 - see this

其他一些旧的:

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

仍然存在于VB .NET实现向后兼容的缘故...

+2

为了完整起见,[MSDN链接](http://msdn.microsoft.com/en-us/library/s9cz43ek %28V = VS.100%29.aspx)。 –

+1

你引用的是类型字符,它使字符串变暗,而字符串变暗。见Heinzi的答案。 – dbasnett

23

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

  • Left(s, length)需要变种作为第一个参数,并返回一个变种
  • Left$(s, length)需要作为第一个参数,并返回一个

这种区分仍然存在于现代VBA。

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

在VB.NET中,这种区别不再是必要的:在非$函数做完全一样的$功能,这是只保留与旧代码的向后兼容性。

6

什么Heinzi说和清理类型字符业务

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

    Dim r As String 
    Stop 

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