这些都相等吗?在什么情况下,我应该 Select 一个而不是其他的呢?
var.ToString()
CStr(var)
CTYPE(var,string)
DirectCast(var,String)
EDIT: Suggestion from NotMyself…
- TryCast(变量,字符串)
这些都相等吗?在什么情况下,我应该 Select 一个而不是其他的呢?
var.ToString()
CStr(var)
CTYPE(var,string)
DirectCast(var,String)
EDIT: Suggestion from NotMyself…
这些都略有不同,通常有一个可接受的用法.
var.
ToString
()
将为您提供对象的字符串表示,而不管它是什么类型.如果var
不是字符串,则使用此选项.CStr
(var)
是VB字符串转换运算符.我不是一个喜欢VB的人,所以我建议避免使用它,但是它不会真的伤害到任何东西.我觉得基本上跟CType
差不多.CType
(var, String)
将使用任何提供的转换运算符将给定类型转换为字符串.DirectCast
(var, String)
用于将对象向上投射为字符串.如果你知道一个对象变量实际上是一个字符串,那么使用这个.这与C#中的(string)var
相同.TryCast
(如@NotMyself所述)类似于DirectCast
,但如果变量无法转换为字符串,它将返回Nothing
,而不是抛出异常.这与C#中的var as string
相同.MSDN上TryCast
页的内容也有很好的对比.