|
昨天寫了《三種屬性操作性能比較》,有個網友寫信問我一個問題:從性能上看,Expression Tree和IL Emit孰優孰劣?雖然我在回信中作了簡單的回答,但不知道這個網友是否懂我的意思。反正今天呆在家里也沒事兒,干脆再就這個話題再寫一篇文章。
目錄:
一、Expression Tree和IL Emit并不存在所謂的性能差異
二、屬性賦值操作的兩種寫法
三、屬性取值操作的兩種寫法
四、兩種寫法對應的IL
一、Expression Tree和IL Emit并不存在所謂的性能差異
Expression Tree和IL Emit的性能孰優孰劣,這本是個“不是問題的問題”。因為兩者之間并不存在本質的區別,所以也談不上性能的優劣問題。舉個例子來說,我們知道.NET Framework 2.0,3.0和3.5使用的是相同的CLR。但是C# 3.0、3.5在2.0的基礎上推出了很多語言層面的特性,比如自動實現屬性:
public class Foo
{
public Bar Bar{get;set;}
public Foo()
{
this.Bar = new Bar();
}
}
NET技術:關于Expression Tree和IL Emit的所謂的"性能差別",轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。