Die Frage ist einfach
ist dieser Code
%Vor%genauso schnell wie dieser Code
%Vor%gesunden Menschenverstand sagen Sie mir, dass es schneller sein sollte, die Referenz im Wörterbuch einmal nachzuschlagen und es irgendwo zu speichern, so dass es nicht mehrmals nachgeschlagen werden muss, aber ich weiß nicht wirklich, wie das Wörterbuch funktioniert.
Also ist es schneller oder nicht? Und warum?
Ja, Sie haben Recht. Ihr erster Ansatz sucht das Wörterbuch 4 mal, während der zweite es einmal tut. Die zweite ist definitiv besser.
Im realen Leben ist eine Wörterbuchsuche jedoch lächerlich schnell. Wenn Sie also kein umfangreiches Wörterbuch haben, wird der Unterschied nicht auffallen, vielleicht sogar nicht messbar.
Joe hat absolut Recht, aber als ob es nicht genug wäre, habe ich einen einfachen offensichtlichen Test gemacht:
%Vor%Auf meinem Rechner gibt dies aus:
%Vor%Wenn Sie nur eine Suche durchführen, wird die Gesamtzeit für große Zahlen definitiv reduziert.
Ich war neugierig. Der folgende Komponententest zeigt (möglicherweise), dass die zweite Methode etwa 25% schneller ist. (121 ms gegenüber 91 ms). Der Wechsel von 6 Feldern zu 2 verengt die Lücke, 40 ms gegenüber 33 ms. Ich sage möglicherweise, da ich dies ziemlich schnell geschrieben habe und ich bin nicht überzeugt, dass es immun ist, einige Nebenwirkungen zu messen, aber es zeigt das erwartete Verhalten, also warum frag es. (hah).
%Vor%Tags und Links c# performance dictionary