簡體   English   中英

表達體功能成員在C#6.0中的效率和性能

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM