Проект с открытым исходным кодом Paint.NET имеет реализацию в C#.
Я не думаю, что есть очень элегантное решение.
Однако вы можете попробовать:
If Not IsError(Application.Match(x, Array("Me", "You", "Dog", "Boo"), False)) Then
или написать свою собственную функцию:
Function ISIN(x, StringSetElementsAsArray)
ISIN = InStr(1, Join(StringSetElementsAsArray, Chr(0)), _
x, vbTextCompare) > 0
End Function
Sub testIt()
Dim x As String
x = "Dog"
MsgBox ISIN(x, Array("Me", "You", "Dog", "Boo"))
End Sub
Вы также можете попробовать оператор CASE вместо IF
Select Case X
Case 1 To 3
' Code to do something
Case 4, 5, 6
' Code to do something
Case 7
' Code to do something
Case Else
' More code or do nothing
End Select
Я ничего не знаю.
Я обычно использую самодельную функцию InArray (), подобную той, что находится на http://www.freevbcode.com/ShowCode.asp?ID=1675
Вы также можете создать версию, повторяющую массив вместо объединения, если это больше подходит для вашего типа данных.