【发布时间】:2013-10-24 06:59:22
【问题描述】:
我知道整数是 32 位数据类型,长整数是 64 位数据类型等。字符串是多少位?
从原始类型到字符串的隐式转换是否总是扩大转换? 例如,请看下面的代码:
Public sub routine1(byval strParam as string)
End sub
Public sub routine2()
Dim intTest As Integer
intTest = 1
routine1(intTest)
End sub
无论 intTest 是否为布尔值、整数、长整数、十进制等(所有原始类型),这样做是否总是安全的。
在另一个问题中,一位回答者说:“并非所有内容都必须具有完全准确的字符串表示形式,这也是您要使用的字符串表示形式”。当他们说“不是一切”时,我相信他们指的是自定义类型,例如Foo,您必须在其中覆盖 .ToString()。这对吗?
问题是:从原始类型隐式转换为字符串总是安全的吗?
【问题讨论】:
-
“安全”是什么意思?这取决于你想对字符串值做什么。一般来说,为了“安全”(并且可维护),请明确说明您希望转换结果是什么。在大多数语言中,整数到字符串的“最默认”转换将可能为您提供十进制表示,这在大多数情况下可能是合理的,但如果您有一个整数并且你调用的方法需要一个字符串,你需要具体说明如何进行转换。
标签: vb.net