// 普通形式的访问器 class Person { // name是存储数据的变量 // Name是一个“属性Property”,像是搭的一个访问数据的桥 // 两者的名称不能相同,但是应该相近 private string name; // field public string Name // property 后面没有分号,访问权限是public { get { return name; } // 实际上读取的是name set { name = value; } // value是关键字 // 可以控制赋值和取值的流程了 // 像是重载了等号 } } class Program { static void Main(string[] args) { Person myObj = new Person(); myObj.Name = "Liam"; // 访问的时候是以变量的方式访问,不是Get/Set函数 Console.WriteLine(myObj.Name); } } // 以下使用一种简短的形式,不需要变量,直接使用“属性Property” // 这样和普通的public变量有什么区别?可以控制读写权限,可以是只读或只写等 class Person { public string Name // property { get; set; } } class Program { static void Main(string[] args) { Person myObj = new Person(); myObj.Name = "Liam"; Console.WriteLine(myObj.Name); } }