Ist es möglich, viele "Oder"-Zeichen (||) in Bedingungen zu vermeiden, die dieselbe Aktion verursachen?

 

Keiner der Betreiber passt. Gibt es eine andere Möglichkeit ohne if(A || B || C || D || E) Action;?

Ich bitte die Moderatoren, die Frage nicht in den allgemeinen Fragenthread zu verschieben, da ich über eine wichtige Frage nachdenke und keine vernünftige Lösung finden kann! Ich danke Ihnen!

 

können einfach in booleschen Variablen stehen, z. B.

X=A || B;

X=X || C || D;

X=X || E;

if (X) Aktion;

 
Avals:

können einfach in booleschen Variablen stehen, z. B.

X=A || B;

X=X || C || D;

X=X || E;

if (X) Aktion;

Vielen Dank für Ihr Feedback! Und diese Programme können recht komplex sein und viele Parameter enthalten, die von den sich ständig ändernden Marktbedingungen abhängen?
 
borilunad:
Vielen Dank für Ihr Feedback! Und diese können je nach den sich ständig ändernden Marktbedingungen recht komplex sein?


natürlich

 
Avals:


natürlich

Nochmals vielen Dank! Ich werde es jetzt ausprobieren!

Ich schaute ins Dock und sah:

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

а = (isCloseLastPosByTake() == True && Profit > ProClo / clo - GetProfitCloseLastPosByTake() * clo);
Kann einem booleschen a dieser Wert gegeben werden?

 
borilunad:

Nochmals vielen Dank! Ich werde es jetzt ausprobieren!

Ich habe im Dock nachgesehen und es gesehen:


Das ist möglich, aber die Geschwindigkeit nimmt stark ab.
 
Vinin:

Sie können es, aber die Geschwindigkeit wird drastisch sinken.
Wird die Geschwindigkeit nicht durch das "oder" in if() beeinflusst?
 
borilunad:
Wird die Geschwindigkeit nicht durch das "oder" in if() beeinflusst?

Natürlich tun sie das. Sie müssen es überprüfen.
 
Vinin:

Natürlich tun sie das. Das muss kontrolliert werden.
Aber wenn Sie nicht schnell etwas finden können, dann bleibe ich bei if()! Ich habe die Verlangsamung bereits spürbar verringert, indem ich alle für mich unnötigen Prüfungen in allen Funktionen entfernt habe. Herzlichen Dank für Ihre Aufmerksamkeit! Ich bin gerne bereit, mich zu informieren und alle möglichen Optionen zu prüfen!
 

Sie können auf diese Weise auch Berechnungen optimieren:

    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;
 

Oder so:

    bool M = true;

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