[英]Expression-bodied function members efficiency and performance in C# 6.0
在新的C#6.0中,我們可以使用lambda表達式定義方法和屬性。
例如這個屬性
public string Name { get { return First + " " + Last; } }
現在可以定義如下:
public string Name => First + " " + Last;
有關表達式函數成員的信息,請訪問: http : //blogs.msdn.com/b/csharpfaq/archive/2014/11/20/new-features-in-c-6.aspx
有沒有人知道使用新語法時是否有任何開銷? 它可以減慢(或提高效率)應用程序,或者它可能沒關系?
在新的C#6.0中,我們可以使用lambda表達式定義方法和屬性。
不,你不能。 您可以使用看起來像lambda表達式的語法來定義方法和屬性主體,因為它使用了token =>
。
然而,更重要的,這並不意味着有參與委托類型。 (而lambda表達式只允許在轉換為表達式樹或委托類型的上下文中。)
這純粹是語法糖。 您的兩個示例代碼段將編譯為完全相同的IL。 它只是表示屬性getter或方法體的另一種方式。
他們將編譯成相同的IL,您可以通過執行此操作並使用ildasm提取IL來自行測試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.