c#中属性关于get和set的操作

img


这行代码是什么意思,get和set有什么作用,能举个简单的例子说明一下吗

在面向对象编程(OOP)中,是不允许外界直接对类的成员变量直接访问的,既然不能访问,那定义这些成员变量还有什么意义呢?t因此C#中就要用set和get方法来访问私有成员变量,它们相当于外界访问对象的一个通道,一个“接口”。

这是语法糖,并不需要纠结。就像俺们书法里的,甲骨文,金文,隶书,行书,草书,楷体一个概念。东西表达的是一个东西,不过笔画上进行了精简,以达到书写简单,识别简单,容易传播的目的

所以如果你像追究这个,那么就请看看以前的语言怎么写。比如java,delphi
dephi,java写属性写成两个方法的: GetXXXX方法,SetXXXX方法
而C#只是对他进行了一次“行书”式的语法糖包装,你们要一笔一划的写,我C#就连笔写,甚至缺笔写

所以你先来看看java的人对属性的解释和例子
https://blog.csdn.net/mengxiang_/article/details/126143728
看懂这个了,回头在C#的“行书式”写法就就能看懂了,当然也能明白这种 “隶书到行书”的变化是怎么来的
ps:最新的C#版本甚至还有草书的变体,你这个只读属性可以草写成 xxx =>1

经常用的和主要的作用是用来保护字段