谁能解释一下这个啊!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; }
这个好像叫封装吧,我想知道这样写的原理!

没原理,别追究。这个叫语法糖,属于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那个最原始的语法就成了。其他的我们不可说,因为那没有原理,只是楷书,隶书,草书的区别罢了,谁能说楷书有啥原理来着

C#基础,私有属性,公共方法。get直接返回私有变量,set设置私有变量,而外部不对私有变量进行操作,从某种意义上来说是安全的
这只是最简单的写法,有些变量在获取和设置值的时候,需要外加一些判断的,这时候就可以在get和set里面对值进行判断