变量的=和=>有什么区别?

kb_*_*kb_ 14 c#

这两种添加方式有什么区别?

private string abc => "def";
Run Code Online (Sandbox Code Playgroud)

private string abc = "def";
Run Code Online (Sandbox Code Playgroud)

Mar*_*ulz 25

这是经典字段的声明,因为它始终存在于C#中:

private string abc = "def";
Run Code Online (Sandbox Code Playgroud)

该字段立即被分配一个初始值.


这是用于声明C#6中引入的仅具有getter的属性(或表达式身体属性)的简写语法:

private string abc => "def";
Run Code Online (Sandbox Code Playgroud)

这是编写以下内容的简短方法:

private string abc
{
    get { return "def"; }
}
Run Code Online (Sandbox Code Playgroud)

  • @DavidWatts那不是官方消息来源.这只是msdn杂志.任何人都可以在那里写 (3认同)
  • 是的@YuvalItzchakov与我合着:p (2认同)