programing

IF 문의 값 목록과 비교하는 방법은 무엇입니까?

lovejava 2023. 6. 18. 10:01

IF 문의 값 목록과 비교하는 방법은 무엇입니까?

저는 다음과 같은 IF 문을 작성하려고 합니다.

if var [is any of 1,4,5,6,12] then do stuff

하지만 VBA에서 사용하는 구문은 다음과 같습니다.

if var=1 or var=4 or var=5...

좀 어설픈 것 같은데요다른 방법이 있습니까?

Select Case 문을 사용할 수 있습니다.

select case var
case 1,4,5,6,12
  'do something
case else
  'alternative
end select

저는 '파티'에 조금 늦었지만, 다음은 어떻습니까?

If InStr(1, ",1,5,8", "," & lVal1, vbTextCompare) > 0 Then

'lVal1'이 1, 5 또는 8과 동일한지 확인합니다.

그리고.

If InStr(1, ",6,8,10,12", "," & lVal2, vbTextCompare) = 0 Then

'lVal2'가 6, 8, 10, 12와 같지 않은지 확인합니다.

쉼표 구분 기호가 없으면 첫 번째 예제에서 'lVal'이 이러한 값 중 하나를 사용할 수 있으면 '15' 또는 '58' 또는 '158'이 모두 일치하기 때문에 쉼표 구분 기호는 중요합니다.

확인할 값에 모호성이 있는 경우 사용하는 구분 기호에 주의해야 합니다.

마찬가지로, 발생할 값 범위에 대한 지식을 사용하여 첫 번째 문자열에서 선행 구분 기호의 투박함을 제거하고 구분 기호를 검색 값 앞에 연결할 수 있습니다.

숫자 목록을 만든 다음 for 루프에서 비교할 수 있습니다.

dim newNumber as Integer
dim compareList as new List Of(int)

for count as integer = 0 to compareList.count - 1
    if newNumber = compareList(nCount)
       'Do Stuff
    end if
next

이것은 제가 좋아하는 간단한 방법이지만, 목록이 정말 크면/"if" 루프에서 많은 코드를 수행하려는 경우 성능 집약적이 될 수 있습니다.

언급URL : https://stackoverflow.com/questions/32503099/how-to-check-against-a-list-of-values-in-an-if-statement