2016-03-01 108 views
14

這兩種添加方式的區別是什麼?變量的=和=>有什麼區別?

private string abc => "def"; 

而且

private string abc = "def"; 
+5

第一個定義了一個私有'get'屬性,第二個私有字段的初始值爲 –

+1

有趣的是,您可以使用[tryroslyn](http://goo.gl/Ee1dXQ)查看編譯後反編譯後的代碼(右側窗格) – xanatos

+0

@ Me.Name中的區別:請不要在評論部分寫下答案。 –

回答

25

這是一個經典的聲明,因爲它已經在C#中始終存在:

private string abc = "def"; 

現場立即指派一個初始值。


這是一個簡寫語法來聲明一個吸氣劑僅屬性(或表達健全性),在C#6中引入:

private string abc => "def"; 

它是寫一個短的路如下:

private string abc 
{ 
    get { return "def"; } 
} 
+1

如果您想要獲得有關此信息的官方消息,請允許我提供:https://msdn.microsoft.com/en-gb/magazine/dn802602.aspx –

+3

@DavidWatts這不是官方消息。這只是msdn雜誌。任何人都可以寫在那裏 –

+1

@DavidWatts實際上是SriramSakthivel在別名「Mark Michaelis」下寫下了這篇文章。去圖... –