VB.NET って関数名に戻り値設定できますよね。
まぁ誰も使っていないと思いますが。
けど、C#とかでは書けないから最終的にどうなっているのだろうと少し疑問に思いました。
例えばこんなコードは、実際にはどのように変換されているのでしょう?
■変換前
①
Public Function TestMethod(ByVal value As Integer) As Boolean
'マジックナンバーは使わないように!
'0 の意味が他人に伝わりません。
If value = 0 Then
TestMethod = True
Else
TestMethod = False
End If
If TestMethod Then
MessageBox.Show("TRUE")
Else
MessageBox.Show("FALSE")
End If
End Function
■変換後
②
Public Function TestMethod(ByVal value As Integer) As Boolean
Dim flag1 As Boolean
If (value = 0) Then
flag1 = True
Else
flag1 = False
End If
If flag1 Then
MessageBox.Show("TRUE")
Return flag1
End If
MessageBox.Show("FALSE")
Return flag1
End Function
実際はBoolean型の変数に戻り値を設定しているんですか。
当然と言えば当然ですね。
ちなみに、メッセージボックスのIF文を消しちゃうと
③
Public Function TestMethod(ByVal value As Integer) As Boolean
'マジックナンバーは使わないように!
'0 の意味が他人に伝わりません。
If value = 0 Then
TestMethod = True
Else
TestMethod = False
End If
End Function
こんな感じのコードになります。
④
Public Function TestMethod(ByVal value As Integer) As Boolean
If value = 0 Then
Return True
End If
Return False
End Function
投稿日時 : 2006年12月10日 21:14