最近、私は自分のプログラミング コース (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 を使用しています。