次のような関数や演算子はありますか?
If RoleName in ( "Val1", "Val2" ,"Val2" ) Then
'Go
End If
それ以外の:
If RoleName = "Val1" Or RoleName = "Val2" Or RoleName = "Val2" Then
'Go
End If
配列を使用してみてください。次に、Contains 拡張機能を使用できます。
Dim s() As String = {"Val1", "Val2", "Val3"}
If s.Contains(RoleName) Then
'Go
End If
または宣言行なし:
If New String() {"Val1", "Val2", "Val3"}.Contains(RoleName) Then
'Go
End If
OP から、Contains 拡張機能が利用できない場合は、これを試すことができます。
If Array.IndexOf(New String() {"Val1", "Val2", "Val3"}, RoleName) > -1 Then
'Go
End If
LarsTech で示されているように、Contains を使用できますが、In
拡張メソッドを追加するのも非常に簡単です。
Public Module Extensions
<Extension()> _
Public Function [In](Of T)(value As T, ParamArray collectionValues As T()) As Boolean
Return collectionValues.Contains(value)
End Function
End Module
次のように使用できます。
If RoleName.In("Val1", "Val2", "Val3") Then
'Go
End If
Select..Case
次のステートメントを使用することもできます。
Select Case RoleName
Case "Val1", "Val2", "Val3"
' Whatever
End Select