基础知识系列☞C#中→属性和字段的区别
"好吧...准备写个'基础知识系列',算是记录下吧,时时看看,更加加深记忆···" 其实本来准备叫"面试系列"...
字段、属性、你先知道的哪个概念?
***我个人来说先知道的是字段吧,,,刚开始一段时间一直觉得字段 是一个类型,是一个变量 ???(GG)那时候比较迷糊...
你觉得那个概念重要点呢?
***刚开始我觉得属性重要点,毕竟那时候概念还不太清楚;
→有字段了为什么还要属性呢?
***0001.限制只能给字段赋于某个范围的值;0010.要求字段只能读或只能写;0011.在改变字段时能改变对象的其他一些状态;很显然这些都是字段自己办不到的,当然还有很多好处...
0001.属性没有存储数据的功能,数据都存在字段中,所以只有修改字段的数据才能更改数据,修改属性的值没用。
0010.使用属性,避免将数据成员直接暴露给外界,维护私有字段(保证类的封装性);
0011.可以做线程同步;
0100.可以使用虚属性、或者抽象属性;
0101.可以将属性置于interface中;
0110.可以提供get-only或者set-only版本,甚至可以给读、写以不同的访问权限(C# 2.0支持)。
√-说多少也不如自己动手写写代码...
using System; namespace TestCode { /// <summary> /// 这是一个测试类 /// </summary> class test { /// <summary> /// 字段 /// </summary> private string _filed; /// <summary> /// 传统方式来定义的属性 /// </summary> public string Filed { get { return _filed; } set { this._filed = value; } } /// <summary> /// 语法糖 /// </summary> public string Property { get; set; } static void Main(string[] args) { Console.WriteLine("属性、字段测试code"); Console.ReadKey(); } } }
代码中的Property是.NET的一个语法糖,直接就是属性名;你或许疑惑没有字段,将值存到哪里了?
好吧,为什么叫语法糖呢,上图...
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了