2016-03-01 136 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”下写下了这篇文章。去图... –