m0_63473637 2022-09-14 11:53 采纳率: 90.3%
浏览 37
已结题

谁能解释一下这个啊!c#

public string Name { get => name; set => name = value; }
public int Hp { get => hp; set => hp = value; }
public int Power { get => power; set => power = value; }
public int Lq { get => lq; set => lq = value; }
这个好像叫封装吧,我想知道这样写的原理!

  • 写回答

2条回答 默认 最新

  • wanghui0380 2022-09-14 14:55
    关注

    没原理,别追究。这个叫语法糖,属于C#7.0后的属性语法糖。

    你需要从C# 1.0的最原始语法开始

    private string mFirstName; 
    
    public string FirstName
    {     
        get { return mFirstName; }     
        set { mFirstName = value; }
    }  
    
    

    这个是C#1.0的原始语法的,你贴的则是经过好几代简化后的语法糖。
    比如:C#5的自动属性
    public string FirstName { get; set; }
    C#9的只读属性
    public string FirstName =>"只读属性"
    自动属性默认值
    public string FirstName { get; set; }=“默认值”

    所以,我们不能解释啥,你要纠结这块就走不动了。一堆语法糖,只是为了简化,方便俺们少敲点代码的。你能理解C#1.0那个最原始的语法就成了。其他的我们不可说,因为那没有原理,只是楷书,隶书,草书的区别罢了,谁能说楷书有啥原理来着

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月25日
  • 已采纳回答 10月17日
  • 创建了问题 9月14日

悬赏问题

  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作