Подражание “В” операторе

Проект с открытым исходным кодом Paint.NET имеет реализацию в C#.

24
задан Community 9 July 2018 в 19:34
поделиться

4 ответа

Я не думаю, что есть очень элегантное решение.

Однако вы можете попробовать:

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
15
ответ дан 29 November 2019 в 00:00
поделиться

Вы также можете попробовать оператор 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
13
ответ дан 29 November 2019 в 00:00
поделиться

вы пробовали

eval("3 in(1,2,3,4,5)")
1
ответ дан 29 November 2019 в 00:00
поделиться

Я ничего не знаю.

Я обычно использую самодельную функцию InArray (), подобную той, что находится на http://www.freevbcode.com/ShowCode.asp?ID=1675

Вы также можете создать версию, повторяющую массив вместо объединения, если это больше подходит для вашего типа данных.

1
ответ дан 29 November 2019 в 00:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: