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

 
borilunad:
Ich danke Ihnen! Ich werde diese Klammern jetzt ausprobieren!
Mit dieser Option konnte ich eine halbe Minute einsparen. Und im Allgemeinen könnte sich die Zeit aufgrund einiger Änderungen im Algorithmus verlängert haben. Ich habe jetzt keine Zeit, es gründlich zu überprüfen, ich werde es später überprüfen und danach suchen! Danke!
 
Vinin:

Aber Sie müssen alle Optionen prüfen, die Sie anbieten. Sonst könnten Sie einen Fehler machen.
Ich werde sicher nachsehen! Ich bin der erste, der sich dafür interessiert!
 
PapaYozh:

Um zu verhindern, dass Warnungen Ihre Augen überladen, verwenden Sie {}: {}

if (!A && !B && !C && !D) {} //пустой оператор
else Action();


Das ist, als würde man sich mit einem Absatz am Hinterkopf kratzen :) Warum vier zusätzliche Operationen und eine überflüssige Zeile? Weil die ursprüngliche Version so aussah:

if (A || B || C || D) Action();
Und es ist besonders amüsant, dass der Themenstarter aus allen Angeboten Ihre Variante ausgewählt hat ))
 
Meat:


Es ist, als würde ich mich mit einem Absatz am Hinterkopf kratzen :) Warum 4 zusätzliche Operationen und eine zusätzliche Zeile? Die ursprüngliche Version sah doch so aus:

Und es ist besonders amüsant, dass der Themenstarter aus allen Angeboten Ihre Variante ausgewählt hat ))

Ich habe alle vorgeschlagenen Optionen getestet, und es hat sich herausgestellt, dass die schnellste diese ist: if (A || B || C || D) Action();

Um die Zeit zu verkürzen, habe ich einige Bedingungen, die nur sehr selten benötigt werden, in einen anderen Block eingefügt, und sogar noch eine weitere, aber ohne bool's, die zusätzliche Zeit benötigen würden. Ich wühle mich weiter durch alles Mögliche, auf der Suche nach gerechtfertigten Vereinfachungen, bisher funktioniert die Demo stabil und ohne Fehler. Der Thread ist offen, ich werde bestimmt etwas Interessantes oder Unklares mitteilen. Ich danke Ihnen allen!

 
borilunad:

Ich habe alle vorgeschlagenen Varianten getestet, und es hat sich herausgestellt, dass die schnellste diese ist: if (A || B || C || D) Action();

Ich frage mich, wie es schneller gehen soll als so: if (A) Action(); else if (B) Action(); else if (C) Action(); else if (D) Action();

 
Meat:

Ich frage mich, wie es schneller gehen soll als so: if (A) Action(); else if (B) Action(); else if (C) Action(); else if (D) Action();

Tut mir leid, Alexey, ich bin gerade nach Hause gekommen! Diese Version passt nicht, weil, wie ich oben erklärt habe, Acron(); nicht nur eine Ausführungsfunktion ist, sondern mehrere weitere Bedingungen enthält, die mit den vorherigen gemeinsam sind, sich aber in der Richtung unterscheiden und dementsprechend in einer anderen Reihenfolge der Ausführung der notwendigen Aktionen. Wie Sie verstehen, konnte ich den Code mit dieser Variante nicht schwerer machen. Und im Prinzip stimme ich Ihnen zu, dass Ihre Version schneller sein könnte, wenn Action(); nur ein Aufruf einer Funktion wäre, nicht mehr. Vielen Dank für die Hilfe bei meiner Suche nach optimalen Lösungen! Ich wünsche Ihnen eine gute Nacht!
 
borilunad:
Tut mir leid, Alexey, ich bin gerade nach Hause gekommen! Diese Variante ist nicht geeignet, weil, wie ich oben erklärt habe, Acron(); nicht nur eine Ausführungsfunktion ist, sondern mehrere weitere Bedingungen enthält, die mit den vorherigen gemeinsam sind, sich aber in der Richtung unterscheiden und dementsprechend in einer anderen Reihenfolge der Ausführung der notwendigen Aktionsfunktionen. Wie Sie verstehen, konnte ich den Code mit dieser Variante nicht schwerer machen. Und im Prinzip stimme ich Ihnen zu, dass Ihre Version schneller sein könnte, wenn Action(); nur ein Aufruf einer Funktion wäre, nicht mehr. Vielen Dank für die Hilfe bei meiner Suche nach optimalen Lösungen! Ich wünsche Ihnen eine gute Nacht!
Das Ergebnis ist, wie nicht anders zu erwarten, aus der Kategorie: "Das Shampoo wurde noch schuppenärmer!!!"! :)))
 
TarasBY:
Das Ergebnis ist, wie zu erwarten, von der Sorte "Das Shampoo ist noch schuppenärmer geworden!!!". :)))
Wenn Sie Schuppen in Ihrem Haar mit Bugs im Code assoziieren, dann sollten Sie sicherlich erwarten, hoffen, erreichen, nach interessanten Lösungen suchen, aber nicht losstürmen!
 
borilunad:
Wenn Sie Schuppen in Ihrem Haar mit Fehlern im Code assoziieren, dann sollten Sie natürlich erwarten, hoffen, erreichen, nach interessanten Lösungen suchen, aber nicht losstürmen!

Und Sie nennen diesen Prozess (9 Seiten lang) "interessante Lösungen finden"? :)))

Auf der 1. Seite - es war eine Hilfe zu "Hilfe", und nach der 2. Seite gab es ein Interesse - "was ist der schnellste Weg". ABER die Antwort auf diese Frage setzt voraus, dass sie Zahlen enthält (ich habe bereits die "Reinheit des Experiments" nicht erwähnt - das sind Bedingungen, die die Angemessenheit der erzielten Ergebnisse gewährleisten)... Ansonsten - über das "Shampoonieren"! :)))

 
TarasBY:

Und Sie nennen diesen Prozess (9 Seiten lang) "interessante Lösungen finden"? :)))

Auf der 1. Seite - es war eine Hilfe zu "Hilfe", und nach der 2. Seite gab es ein Interesse - "was ist der schnellste Weg". ABER die Antwort auf diese Frage setzt voraus, dass sie Zahlen enthält (ich habe bereits die "Reinheit des Experiments" nicht erwähnt - das sind Bedingungen, die die Angemessenheit der erzielten Ergebnisse gewährleisten)... :)))

Diese Frage der Geschwindigkeit ist, was mich bewegt, die geschätzten Mitglieder des Forums, "wie man eine Menge von "oder" zu vermeiden ...", wie geglaubt, dass es einen Verlust in der Zeit verursacht Adresse. Und wenn sich einige aufgrund ihrer Ambitionen zu Polemik hinreißen lassen oder ihre Entwicklungen beharrlich vorantreiben, bleibt das ihre persönliche Angelegenheit und geht mich nichts an. Wie auch immer, danke an alle, die geantwortet haben! Ich wünsche allen viel Erfolg!
Grund der Beschwerde: