lambda 语法糖而已,你可以看看lambda和属性的简写相关。
主要还是为了书写方便,简化代码。概念我就不复制粘贴了,给你写个简写的转化过程:
属性的标准写法:
[C#] 纯文本查看 复制代码 public class Newyear: Ultureman
{
string _name;
public string Name
{
get
{
return _name; //这里是 getter 的方法体,由于只有一行,可以进一步简写:写法2
}
set
{
_name = value;//这里是 setter 的方法体,由于只有一行,可以进一步简写:写法2
}
}
}
写法2:只有一行,进一步简写(把花括号、return 之类的去掉,节省代码):
[C#] 纯文本查看 复制代码 public class Newyear: Ultureman
{
string _name;
public string Name
{
get => _name; //由于这里不对_name字段做任何改动直接返回,可以进一步简写:写法3
set => _name = value; //由于这里不对_name字段做任何改动直接返回,可以进一步简写:写法3
}
}
写法3:由于不对_name字段做任何改动直接返回,进一步简写(把_name字段都去掉,反正也不做改动):
[C#] 纯文本查看 复制代码 public class Newyear: Ultureman
{
public string Name
{
get;
set;
}
}
进一步整理代码:
[C#] 纯文本查看 复制代码 public class Newyear: Ultureman
{
public string Name { get;set;}
}
ps:现在的语法糖越来越多了,有很多帖子专门整理了所有C#版本的新语法 ,你可以去看看。
|