我想设计一个返回可以进行AND / OR运算的值的函数。
我的尝试是:
Public Function getCompatibleValue(ByVal uIndex As Integer) As Integer
Dim i As Integer = 0
If uIndex = 0 Then
i = 0
ElseIf uIndex = 1 Then
i = 1
ElseIf uIndex = 2 Then
i = 2
ElseIf uIndex = 3 Then
i = 4
ElseIf uIndex = 4 Then
i = 8
ElseIf uIndex = 5 Then
i = 16
ElseIf uIndex = 6 Then
i = 32
ElseIf uIndex = 7 Then
i = 64
ElseIf uIndex = 8 Then
i = 128
End If
Return i
End Function
但我不确定名称“getCompatibleValue”是否合适,也不确定我的函数逻辑非常有效。
也许有人可以分享他对此的想法。
非常感谢!
答案 0 :(得分:1)
首先没有理由拥有一个功能。您可以使用exponentiation operator直接执行此操作:
i = If (uIndex = 0, 0, 2 ^ (uIndex - 1))
这会为您提供Double
的值,但您可以将其转换为Integer
。
答案 1 :(得分:0)
Switch是你的朋友。并且为了命名方法,我想这将有助于获得关于你的意图的一些背景。
答案 2 :(得分:0)
因为没有其他人提出建议,我想建议“getExpontent”。 这不是特定于语言的,告诉用户该功能将做什么。 我选择了小写“get”,因为我在某处读到每个void和函数都应该以小写字母开头。