Ich habe nach einer Erklärung für die Reihenfolge gesucht, in der boolesche Ausdrücke ausgewertet werden, aber keine gefunden werden können.In welcher Reihenfolge werden boolesche Ausdrücke ausgewertet
Werfen Sie einen Blick auf diese Aussage:
if (locClsTanken.PlaceID == -1 && locRwF.PlaceID > -1 || locClsTanken.DagPrijs == 0)
Wie dies ausgewertet ist.
wird es so sein:
if ((locClsTanken.PlaceID == -1 && locRwF.PlaceID > -1) || locClsTanken.DagPrijs == 0)
oder so:
if (locClsTanken.PlaceID == -1 && (locRwF.PlaceID > -1 || locClsTanken.DagPrijs == 0))
Gibt es eine Dokumentation über das weiß ich nicht das richtige Suchwort, weil Englisch nicht meine Sprache ist.
Ich weiß, dass ich es testen können, aber ich möchte die Dokumentation darüber finden, so kann ich voll und ganz verstehen es
Wie Sie aus den Antworten gefunden haben, ist der Begriff gesucht für 'Vorrang '- aber ich würde auch beachten In fast allen Sprachen, die ich mir vorstellen kann, erzwingen zusätzliche Klammern keine Leistungseinbußen. Wenn Sie sich also nicht sicher sind, fügen Sie einfach die Klammern ein, damit der Ausdruck * eindeutig * tut, was Sie vorhaben. –
@Damien_The_Unbeliever Ja, ich benutze immer Klammern, aber ich fand diesen Ausdruck in Somenones Code heute und wollte sicher sein, wo die Klammern setzen. Danke – GuidoG
In der Tat, Klammern verwenden. Sie sollten nicht nur Code schreiben, der irgendwie funktioniert, sondern auch Code, den andere verstehen können. Wenn Sie einige Klammern hinzufügen, muss mindestens die nächste Person, die Ihren Code liest, diese Frage nicht stellen. Das Refactoring der Bedingung zu einer Funktion kann für zukünftige Programmierer sogar noch netter sein. Und wenn Sie der zukünftige Programmierer sind, verpassen Sie keine Chance, Dinge besser zu machen :) – oerkelens