所有这些都相等吗?在什么情况下我应该选择其中一个而不是其他?
var.ToString()
CStr(变量)
CType(变量,字符串)
DirectCast(变量,字符串)
编辑:来自的建议不是我自己 https://stackoverflow.com/users/303/notmyself…
这些都略有不同,并且通常具有可接受的用法。
-
var.
ToString http://msdn.microsoft.com/en-us/library/system.object.tostring.aspx()
将为您提供对象的字符串表示形式,无论它是什么类型。使用这个如果var
还不是字符串。
-
CStr http://msdn.microsoft.com/en-us/library/0zk841e9.aspx
(var)
是 VB 字符串转换运算符。我不是 VB 人员,所以我建议避免它,但这并不会真正伤害任何东西。我认为它基本上是一样的CType
.
-
CType http://msdn.microsoft.com/en-us/library/4x2877xb.aspx
(var, String)
将使用任何提供的转换运算符将给定类型转换为字符串。
-
DirectCast http://msdn.microsoft.com/en-us/library/7k6y2h6x.aspx
(var, String)
用于将对象向上转换为字符串。如果您知道对象变量实际上是字符串,请使用它。这与(string)var
in C#.
-
TryCast http://msdn.microsoft.com/en-us/library/zyy863x8.aspx(正如@提到的不是我自己 https://stackoverflow.com/questions/40764/how-should-i-cast-in-vbnet#40771) 就好像
DirectCast
,但它会返回Nothing
如果变量无法转换为字符串,而不是抛出异常。这与var as string
在 C# 中。这TryCast
MSDN 页面上也有很好的比较。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)