【发布时间】:2013-10-09 15:08:40
【问题描述】:
最近,我一直在我的编程课程(教 VB)中介绍数据类型,我遇到了一个有趣的情况。在尝试演示随机数生成器时,我遇到了这样一个事实,即我的代码允许在算术语句中清晰地使用字符串。虽然我觉得这样做很好,但我正在绞尽脑汁思考理由或实际导致这种情况发生的原因。
以下是我为测试而构建的一些代码示例:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Produces '56'
MsgBox("5" + "6")
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
'Produces 11
MsgBox(5 + 6)
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
'Produces 11
MsgBox("5" + 6)
End Sub
Private Sub RandomNumber(ByVal low As Integer, ByVal high As Integer)
Randomize()
MsgBox((high - low) * Rnd() + low)
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
'Produces Random Number between 5 - 6
RandomNumber(5, "6")
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
'Produces Random Number between 5 - 6
RandomNumber("5", "6")
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
'Produces Random Number between 5 - 6
RandomNumber(5, 6)
End Sub
End Class
如果是 IDE,我在 Windows 7 上使用 Visual Studio 2010 Ultimate。
【问题讨论】:
-
至于理由,这是 VB 忠实于其作为“初学者”语言的根源,并且更加宽容。有些语言是强类型的,有些(例如Javascript)则更少。至少 Option Strict VB 为您提供了选择!
-
将 Option Strict On 添加到代码文件的顶部。
标签: vb.net string visual-studio-2010 types