Wenn Sie über die Leistung besorgt sind, führen Sie einen Profiler. Dann Änderungscode. Die Chancen stehen gut, dass Sie in einer Million Jahren niemals 100% richtig raten werden, wenn die Zeit vergeht. Sie könnten das Timing von 0,02% ändern und die Methode verlassen, die 62% der Belastung ausmacht. Du könntest es auch noch schlimmer machen. Ohne Profiler und Beweise sind Sie blind.
Sie können nicht davon ausgehen, , dass der JIT eine Eigenschaft Getter Inline wird. Es gibt viele Gründe dafür oder auch nicht; Größe des Methodenrumpfs, virtuell, Wert vs Referenztyp, Architektur, Debugger angeschlossen usw.
„Hebe“ noch einen Platz hat, und kann immer noch Einsparungen wenn der Code aufgerufen wird wiederholt in einer engen Schleife erreichen; zum Beispiel:
var count = list.Count;
for(int i = 0 ; i < count ; i++) {...}
(vergessen, die for
vs foreach
Debatte fr der oben - das ist eine orthogonale Diskussion). Im oben genannten wird der "Aufzug" Leistung helfen. Aber nur um wirklich verwirrend - mit Arrays, es ist das Gegenteil, und es ist effizienter zu nicht hissen es:
for(int i = 0 ; i < arr.Length ; i++) {...}
Der JIT erkennt dies und entfernt die Grenzen Prüfung (als Arrays festgelegt ist Größe).
Ich wusste nicht über diese letzte! Gut zu wissen, danke! – Groo
Danke für Informationen, aber ich frage nach einer guten Referenz für diese Information –
Mein Punkt ist, dass * keine * Referenz wird Ihnen wirklich dabei helfen. Ein ** Profiler ** wird es tun. –