동일한 동작을 유발하는 조건에서 많은 "또는"(||)을 이스케이프할 수 있습니까?

 

어떤 연산자도 적합하지 않습니다. if(A || B || C || D || E) Action;이 없는 다른 방법이 있을 수 있습니다.

문제의 중요성으로 인해 일반 스레드에 질문을 보내지 않도록 중재자에게 요청합니다. 나는 생각하고 더 합리적인 해결책을 찾을 수 없습니다! 고맙습니다!

 

예를 들어 부울 변수에서 간단히 할 수 있습니다.

X=A || 비;

X=X || ㄷ || 디;

X=X || 이자형;

if (X) 조치;

 
Avals :

예를 들어 부울 변수에서 간단히 할 수 있습니다.

X=A || 비;

X=X || ㄷ || 디;

X=X || 이자형;

if (X) 조치;

당신의 응답을 주셔서 감사합니다! 그리고 이러한 부울은 끊임없이 변화하는 시장 상황에 따라 많은 매개변수를 포함하여 상당히 복잡할 수 있습니다.
 
borilunad :
당신의 응답을 주셔서 감사합니다! 그리고 이러한 부울은 끊임없이 변화하는 시장 상황에 따라 상당히 복잡할 수 있습니까?


틀림없이

 
Avals :


틀림없이

다시 한번 감사합니다! 나는 지금 시도 할거야!

Dock을 보고 다음을 확인했습니다.

 bool a = true ;
bool b = false ;
bool c = 1 ;

а = (isCloseLastPosByTake() == True && Profit > ProClo / clo - GetProfitCloseLastPosByTake() * clo);
부울을 지정하고 이 값을 제공할 수 있습니까?

 
borilunad :

다시 한번 감사합니다! 나는 지금 시도 할거야!

Dock을 보고 다음을 확인했습니다.


가능하다 작업속도만 많이 떨어짐
 
Vinin :

가능하다 작업속도만 많이 떨어짐
그리고 이러한 "또는" if()는 속도에 반영되지 않습니까?
 
borilunad :
그리고 이러한 "또는" if()는 속도에 반영되지 않습니까?

물론 그들은 반영합니다. 확인이 필요합니다.
 
Vinin :

물론 그들은 반영합니다. 확인이 필요합니다.
그러나 빠른 것을 찾을 수 있는 방법이 없다면 if()를 사용하십시오! 나는 이미 모든 기능에서 불필요한 점검을 제거하여 제동을 크게 줄였습니다. 많은 관심 부탁드립니다! 가능한 모든 옵션을 배우고 확인하게 되어 기쁩니다!
 

다음과 같은 방법으로 계산을 최적화할 수도 있습니다.

     bool M = false ;

     if (A) M = true ; else if (B) M = true ; else if (C) M = true ; else if (D) M = true ; else if (E) M = true ;
     if (M) Action;
 

또는 다음과 같이:

     bool M = true ;

     if (!A) if (!B) if (!C) if (!D) if (!E) M = false ;
     if (M) Action;