Frage

Ich frage mich: Was ist die beste Anweisung in Bezug auf die Leistung zwischen den zwei Versionen:

Background = Application.Current.Resources[condition ? BackgroundName1 : BackgroundName2] as Brush;

und

Background = condition ? Application.Current.Resources[BackgroundName1] as Brush : Application.Current.Resources[BackgroundName2] as Brush;

gibt es einen Unterschied? und wenn ja, Wich ist besser?

Dank

NB: BackgroundName1 & 2 sind einfach Strings

War es hilfreich?

Lösung

Die erste ist kürzer und besser lesbar.

Es ist auch leichter zu pflegen.
Wenn Sie später ändern, um eine andere Ressourcen Wörterbuch zu lesen, könnte man vergessen, die zweite Hälfte des zweiten zu ändern.

Die erste ist auch deutlicher aus demselben Wörterbuch zu lesen.

Andere Tipps

Erstens: einen Profiler Verwenden Sie die langsamste Sache zu finden. Wenn Sie ein Leistungsproblem sind mit macht es keinen Sinn machen, um Stunden oder Tage zu verbringen arbeitet etwas schneller auf machen, die schon schnell genug ist.

Zweitens: Sie können die Antwort auf Ihre Frage bestimmen, indem es in beide Richtungen versuchen und Messung sorgfältig zu sehen, ob es einen Unterschied gibt. Fragen Sie uns nicht, das ist schneller; wir wissen nicht, weil wir es nicht versucht haben und haben keine Möglichkeit, es zu versuchen.

Do in Mikro-Optimierungen gefangen nicht bekommen! Der Leistungsgewinn Sie bekommen gleich null. Gehen Sie für den Code, der mehr lesbar ist und leichter in das Ende zu verstehen.

überhaupt keinen Unterschied.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top