If (ProcessID <> 0) And ("O" <> sProcessStatus And "E" <> sProcessStatus) Then
' Do stuff
End If
내가 이해하지 못하는 것은 둘째 조건이다,라고 코드 조각 가로 질러 ... 내가 해제 방법입니다 경우 누군가가 나에게 할 수 있습니다.
sProcessStatus
이 O가 아닌 경우 다음 두 번째 조건에서 E가 실행됩니까?
온 전성 검사.
If (ProcessID <> 0) And ("O" <> sProcessStatus And "E" <> sProcessStatus) Then
' Do stuff
End If
내가 이해하지 못하는 것은 둘째 조건이다,라고 코드 조각 가로 질러 ... 내가 해제 방법입니다 경우 누군가가 나에게 할 수 있습니다.
sProcessStatus
이 O가 아닌 경우 다음 두 번째 조건에서 E가 실행됩니까?
온 전성 검사.
(이 올바른 구문 단지 읽기 쉽게 아님) 동작을 다시 말하면
수행 E없는 경우
요다 조건. 나는 그것을 좋아한다. 고마워. –
하나의 메모 ... 왜냐하면 그들은 모두 ands ... 괄호가 필요하지 않기 때문에 ... – Andrew
첫 번째 조건이 아닐 경우 0
AND
두 번째 조건이 "O"가 아니며 "E"가 아닌 경우 뭔가 수행하십시오. 예. sProcessStatus는 O 아니며 sProcessStatus 다음
if spProcessSatus NOT IN ('O','E') {
process
}
제 2 부분을 말하고
ProcessID
제로sProcess
은 꼭 요다 조건 사랑 "O"
또는"E"
이외의 다른입니다. "O"그렇지 않습니다! "E"가있는 힘은 그렇지 않습니다. ...
나는 당신의 해석에 동의합니다. 다른 것은 의미가 없습니다. –
사이드 노트 : 거의 모든 경우에'And' 대신'AndAlso'를 사용하십시오. 전자는 첫 번째가 '참'으로 평가되는 경우에만 두 번째 조건을 평가하고 후자는 항상 모든 조건을 평가합니다. 이것은 덜 효율적이며 부작용을 일으킬 수 있습니다. 이것을 고려해보십시오 :'str IsNot Nothing And 또한 str.ToLower = "o"'는 결코 예외를 던지지 않을 것이지만'str IsNot Nothing And str.ToLower = "o"는'str'이'Nothing' 일 경우 않습니다. 'OrElse'와'Or'도 마찬가지입니다. –
@Tim Why? 첫 번째 조건이 거짓이면 왜 나머지를 평가해야합니까? – Andrew