C# 属性、访问器
C# 属性(Property)
属性(Property) 是类(class)、结构(structure)和接口(interface)的命名(named)成员。类或结构中的成员变量或方法称为 域(Field)。属性(Property)是域(Field)的扩展,且可使用相同的语法来访问。它们使用 访问器(accessors) 让私有域的值可被读写或操作。
using System; namespace Accessors { class Student { //private Field private string name = ""; private string sex = ""; private int age = 0; public string Sex //sex accessor { get { return sex; } set { sex = value; } } public string Name //name accessor { get { return name; } set { name = value; } } public int Age //age accessor { get { return age; } set { age = value; } } public override string ToString() { return "Name = " + Name +", Sex = " + Sex + ", Age = " + Age; } } // class Student // { // //property // public string Sex {get;set;} // public string Name {get;set;} // public int Age {get;set;} // // public override string ToString() // { // return "Name = " + Name +", Sex = " + Sex + ", Age = " + Age; // } // } class Program { public static void Main(string[] args) { Student sObj = new Student(); sObj.Name = "zhangsan"; sObj.Sex = "man"; sObj.Age = 31; Console.WriteLine(sObj); Console.ReadKey(true); } } }
上面代码中,前面的student类中有私有成员,外部访问通过索引器访问,对私有变量进行set或get操作
后面的student类可以不用这些私有成员,它们都是有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 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义