泰安人才网公司北京网站优化找商集客吗

张小明 2026/1/1 0:47:36
泰安人才网公司,北京网站优化找商集客吗,山西建设网官方网站,台州快速建站公司属性 Set 和 Get 访问器总结 一、核心概念对比 概念定义作用访问权限示例字段private string name;存储数据通常私有private int age;属性public string Name { get; set; }访问数据通常公有public int Age { get; set; } 二、属性的三种写法 1. 完整写法#xff08;原始写…属性 Set 和 Get 访问器总结一、核心概念对比概念定义作用访问权限示例字段private string name;存储数据通常私有private int age;属性public string Name { get; set; }访问数据通常公有public int Age { get; set; }二、属性的三种写法1.完整写法原始写法csharpprivate string _name; // 私有字段 public string Name // 公有属性 { get { return _name; // 返回字段值 } set { _name value; // 设置字段值 } }2.简化写法csharp// 如果只是简单传递值可以简化 private int _id; public int Id { get { return _id; } set { _id value; } }3.自动属性语法糖csharp// 编译器自动生成私有字段 public bool Sex { get; set; } public int Age { get; set; }三、Set 和 Get 访问器的本质Set 访问器csharp// 本质一个设置值的方法 public string Name { set // 相当于public void SetName(string value) { _name value; // value 是用户传入的值 } } // 使用p.Name 张三; // 相当于p.SetName(张三);Get 访问器csharp// 本质一个获取值的方法 public string Name { get // 相当于public string GetName() { return _name; } } // 使用string name p.Name; // 相当于string name p.GetName();四、访问器的实际应用重要1.添加验证逻辑csharpprivate int _age; public int Age { get { return _age; } set { if (value 0 || value 200) throw new Exception(年龄必须在0-200之间);//做一个限定值 不在值内报异常 _age value; } }2.添加额外逻辑csharpprivate string _name; public string Name { get { Console.WriteLine(获取Name值); return _name 视觉67班; // 返回时添加额外信息 } set { Console.WriteLine($设置Name值: {value}); _name value; } }3.只读或只写属性csharp// 只读属性只有get public string Id { get; } Guid.NewGuid().ToString(); // 私有set public string Name { get; private set; } // 只写属性不常见 private string _secret; public string Secret { set { _secret value; } }六、为什么要用属性而不是字段1.数据封装csharp// ❌ 不好直接暴露字段 public int Age; // 外部可以直接设置为负值 // ✅ 好通过属性控制 private int _age; public int Age { get { return _age; } set { if (value 0 value 150) _age value; } }2.向后兼容csharp// 第一版直接使用字段 public int Score; // 第二版改为属性添加验证 private int _score; public int Score { get { return _score; } set { if (value 0 value 100) _score value; } } // 外部代码无需修改仍然使用 obj.Score3.数据绑定支持csharp// WPF、WinForms 等 UI 框架支持属性绑定 public string UserName { get; set; } // 可以绑定到 TextBox八、常见错误❌ 错误1无限递归csharppublic string Name { get { return Name; } // ❌ 递归调用自身 set { Name value; } // ❌ 递归调用自身 } // ✅ 正确引用字段 public string Name { get { return _name; } // ✅ set { _name value; } // ✅ }❌ 错误2忘记字段csharppublic int Score { get { return ???; } // ❌ 没有字段可返回 set { ??? value; } // ❌ 没有字段可赋值 } // ✅ 正确先定义字段 private int _score; public int Score { get { return _score; } set { _score value; } }九、一句话总结字段存储数据要私有属性访问数据要公有。Set 是设置值的方法Get 是获取值的方法。需要验证用完整属性简单情况用自动属性。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站icp备案咋做友情链接平台站长资源

深入探究openSUSE Linux系统的性能调优与问题解决 1. 系统监控与初步操作 首先,登录运行GNOME的openSUSE Linux机器。在终端中输入 gnome-system-monitor 并按下回车键,随后花费几分钟时间查看各个选项卡,尤其关注每个进程所使用的内存量。完成后,关闭终端窗口并关闭虚…

张小明 2025/12/29 0:39:34 网站建设

手机网站开发库企业信用等级查询系统

你是否经常在地铁、飞机或偏远地区需要阅读外文资料却苦于网络问题?kiss-translator作为一款强大的开源离线翻译工具,提供了多种断网翻译解决方案,让你在任何环境下都能轻松阅读外文内容。 【免费下载链接】kiss-translator A simple, open s…

张小明 2025/12/29 1:22:52 网站建设

找生意做去哪个网站如何做好网站开发项目需求分析

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 持续学习,不断…

张小明 2025/12/28 23:13:16 网站建设

外贸 网站外链交换wordpress 课程插件

PaddlePaddle镜像与MLflow集成:实现模型生命周期管理 在中文自然语言处理和工业级视觉识别项目中,一个常见的挑战是:研究员训练出高精度模型后,却因环境差异、参数记录缺失或版本混乱,导致无法在生产环境中复现结果。更…

张小明 2025/12/29 0:57:41 网站建设

深圳做app网站哈尔滨住房城乡建设局网站首页

深入浅出 CSS 弹性盒子:从基础到实战的完整指南大家好,今天咱们来聊聊前端布局的 “利器”——CSS 弹性盒子(Flexbox)。不管是做响应式页面,还是快速实现复杂布局,Flexbox 都是绕不开的核心知识点。这篇博客…

张小明 2025/12/29 1:34:43 网站建设