次の2つのプログラムコードは実行すると同じ動きをするのですが、意味の違いはどこにあるのでしょうか?ご教授宜しくお願い致します。
コード①
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Label1.Text = Val(Label1.Text) + 1
End Sub
コード②
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Label1.Text = Label1.Text + 1
End Sub
> 次の2つのプログラムコードは実行すると同じ動きをするのですが
「Option Strict On」にしてみてください。
(2)は、エラーで動かないはずです。
良く見ると、(「Option Strict On」にすると)(1)もエラーで動かないですね・・・
要するに、(2)は(実際は(1)も)『「暗黙の型変換」に頼った書き方』と言うことです。
大吉末吉さんへ>
ご教授ありがとうございました。
コード①も②もVBが適当な型に変換していると理解すれば宜しいのでしょうか?ところで、初心者なもので、Option Strict Onにするにはどうすれば良いか分かりません。教えて頂けないでしょうか?
> コード①も②もVBが適当な型に変換していると理解すれば宜しいのでしょうか?
そうです。
#「適切」では無く「適当」・・・なのかな。
> 初心者なもので、Option Strict Onにするにはどうすれば良いか分かりません。
ファイルの先頭に「Option Strict On」と記述するだけです。
#「初心者」云々関係なく、調べれば分かると思いますけど・・・
一応参考まで。
「Option Strict ステートメント 」
(http://msdn2.microsoft.com/ja-jp/library/zcd4xwzs(VS.80).aspx)
「5.1.2 Option Strict ステートメント」
(http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/vbls7/html/vblrfvbspec5_1_2.asp)
「[INFO] Visual Basic .NET の Option Explicit および Option Strict」
(http://support.microsoft.com/kb/311329/ja)
丁寧に説明して頂き、ありがとうございました。私の中では解決しました。
.NETはやったことがないので、ちょっと確認したいのですが
Label1.Text=""
とした時も同じ動きしてましたか?
ツイート | ![]() |