C# 自动属性
正文
属性(properties)
属性的作用
1、封装字段,可以保护类的私有字段
2、控制 1.读写权限 及 2.字段的访问规则(如:年龄范围)。但平时,主要是用来封装 读写权限。
传统属性定义
private int _age; public int Age { get { return _age; } set { _age = value; } }
缺点:定义属性的代码多 语法不简洁 繁琐
优点:定义属性的时候,可以带一些逻辑判断,这是自动属性所不能做到的。
例如:

private int _age; public int Age { get { return _age; } set { if((0<value)&&(value<200)) { _age = value; } } }
自动属性
不需要定义字段 ,自动属性主要用在对 字段的 读写权限的封装,帮助减少程序员代码,让代码更好看;但实质上在编译时,还是会自动生成一个对应的字段的。
所以,从这个意义上说,自动属性就相当于是微软提供的一个“语法糖”了。
public int Age{get;set;} //该句代码的作用和上面传统属性定义的语句的作用是一样的
优点:定义语法简介,高效、减少程序员书写的代码量
缺点:定义属性的时候,不能做一些逻辑判断。
用自动属性程序员写的代码少了,机器做的事情就多了,那我们到底要不要使用它?
如果 是针对 读写权限的封装,就推荐使用,因为它是在编译的时候产生了负担,并不是在运行的时候。(不会影响客户运行程序时的效率!)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构