是否有這樣的構造和分配類的屬性之間顯著性能差異(在運行時和/或編譯時):構造基於對象初始化
Employee currentUser = new Employee();
currentUser.Name = "Bob";
或這樣的:
Employee currentUser = new Employee() { Name = "Bob" };
我的實際例子並不那麼簡單,該類的屬性實際上分配給了一些long linq表達式。
我搜索谷歌和堆棧溢出的答案,但我只發現有關最佳做法,何時使用任何方法,而不是任何性能相關的問題。
如果我問一個愚蠢的問題,提前道歉。
你的IL表明有一個區別 - 在「舊方法」中,變量在屬性設置器之前被分配*。在對象初始化形式中,「ldloc.2,stloc.0」表示將臨時變量複製到「f」中。查看我的答案瞭解更多詳情。 –
謝謝喬恩。你的洞察力永遠是新鮮的。我可以看到你現在的意思。 – Aliostad