C#屬性使用淺析

2023-11-23 19:30

本文主要是介绍C#屬性使用淺析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

程序员大智慧

</div><!--end: blogTitle 博客的标题和副标题 -->
<div id="navigator">
新随笔
  • 联系
  • 订阅
  • 管理
  • 	<div class="blogStats"><span id="stats_post_count">随笔 - 
    


    文章 -

    评论 -
    0

    	</div><!--end: blogStats -->
    </div><!--end: navigator 博客导航栏 -->
    

    C#属性的使用

            </h1><div class="clear"></div><div class="postBody">
    

    1、属性的作用:保护字段,对字段取值与赋值进行限定

    2、属性的使用:

    _name(属性名)
    public [对应字段类型] 属性名Name
    {
    get{return _name;}
    set{_name=value;}
    }

    3、字段和属性的命名格式:

    字段的命名方式一般采用:_cameCase
    字段的命名方式一般采用:PascalCase

    4、有了属性以后,往往通过属性去访问字段。属性通常声明为public,字段通常声明为private。在外部访问类中的字段,都是通过属性来实现。get可对取值进行界定,set可对赋值进行界定,通常我们将get和set称为访问器。

    Clerk.cs:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    namespace CSharp属性的使用
    {
    class Clerk
    {
    private string _name;//字段
    public string Name//属性
    {
    get {return _name;}
    set { _name = value; }
    }
    private char _gender;//字段
    public char Gender//属性
    {
    get {
    if (Gender != '男' || Gender != '女')
    _gender = '男';
    return _gender;
    }
    set{
    _gender = value;//value是内置的变量
    }
    }
    private int _age;
    public int Age {
    get { return _age; }
    set {
    if (value < 0 || value > 120)
    value = 0;
    _age = value; 
    }
    }
    public string _department;
    public int _workyears;
    public void Write() {
    //可加this
    Console.WriteLine("{0}{1}{2}{3}{4}",_name,Gender,_workyears,Age,_department);
    // Console.WriteLine("{0}{1}{2}{3}{4}", this._name, this._gender, this._workyears, this._age, this._department);
    }
    }
    }

    Program.cs:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    namespace CSharp属性的使用
    {
    class Program
    {
    static void Main(string[] args)
    {
    Clerk zsClerk = new Clerk();
    zsClerk.Name = "张三";
    zsClerk.Gender='男';
    zsClerk.Age= 25;
    zsClerk._department="人力部";
    zsClerk._workyears = 10;
    zsClerk.Write();
    Console.ReadKey();
    }
    }
    }

    5、属性的分类

    属性分为4种,
    1)既读又写:同时包含get和set
    2)只读:只包含get
    3)只写:只包含set
    4)自动属性

     

    分类: C#基础
    <div id="blog_post_info">
    
    好文要顶 关注我 收藏该文
    程序员大智慧
    关注 - 0
    粉丝 - 0
    +加关注
    0
    0
    <div class="clear"></div>
    <div id="post_next_prev"><br>
    <a href="https://www.cnblogs.com/lwjcn/p/8484494.html" class="p_n_p_prefix">» </a> 下一篇:    <a href="https://www.cnblogs.com/lwjcn/p/8484494.html" title="发布于 2018-02-28 16:49">C#构造函数里的base和this的区别,父类和子类构造函数执行顺序</a>
    
    posted @ 2018-02-28 16:28  程序员大智慧  阅读( 1875)  评论( 0)  编辑  收藏
    </div><!--end: topics 文章、评论容器-->
    
    刷新评论 刷新页面 返回顶部
    【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
    【推荐】阿里云双11返场来袭,热门产品低至一折等你来抢!
    【活动】开发者上云必备,腾讯云1核4G 2M云服务器11元/月起
    【推荐】百度智能云岁末感恩季,明星产品低至1元新老用户畅享
    【活动】京东云限时优惠1.5折购云主机,最高返价值1000元礼品!
    【推荐】史上最全python数据爬取面试问答合集 | 开发者福利
    【推荐】精品问答 | 2020年Java面试必备题集
        <div id="google_ads_iframe_/1090369/C2_0__container__" style="border: 0pt none;"><iframe id="google_ads_iframe_/1090369/C2_0" title="3rd party ad content" name="google_ads_iframe_/1090369/C2_0" width="468" height="60" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" srcdoc="" style="border: 0px; vertical-align: bottom;" data-google-container-id="2" data-load-complete="true"></iframe></div></div>
    </div>
    <div id="under_post_kb">
    
    最新 IT 新闻:
    · 我国成功发射银河航天首发星
    · 不只是G1和G2:巨型黑洞人马座A*再发现四个类似神秘天体
    · 作价2亿美元被苹果收购,这家AI芯片公司能让Siri更聪明吗?
    · 台积电、三星争霸2nm工艺:能做出来,但可能没人用得起
    · 商汤科技发布迄今最大人脸检测数据集,绝杀Deepfake!
    » 更多新闻...
    <div id="sideBar"><div id="sideBarMain">
    
    <div id="profile_block">昵称:<a href="https://home.cnblogs.com/u/lwjcn/">程序员大智慧</a><br>园龄:<a href="https://home.cnblogs.com/u/lwjcn/" title="入园时间:2016-07-20">3年5个月</a><br>粉丝:<a href="https://home.cnblogs.com/u/lwjcn/followers/">0</a><br>关注:<a href="https://home.cnblogs.com/u/lwjcn/followees/">0</a><div id="p_b_follow">
    

    +加关注

    		<div id="blog-calendar" style="">
    
    < 2020年1月 >
    293031 1 2 3 4
    5 6 7 8 9 10 11
    12 13 14 15 16 17 18
    19 20 21 22 23 24 25
    26 27 28 29 30 31 1
    2 3 4 5 6 7 8
    		<div id="leftcontentcontainer"><div id="blog-sidecolumn">
    

    我的随笔

  • 我的评论

  • 我的参与

  • 最新评论

  • 我的标签

      随笔分类

              </h3><ul><li>
      
      C#基础(5)
                          </li></ul></div><div id="sidebar_postarchive" class="catListPostArchive sidebar-block"><h3 class="catListTitle">
      

      随笔档案

              </h3><ul><li>
      
      2018年3月(2)
                          </li><li>
      
      2018年2月(3)
                          </li></ul></div>
      
      	</div><!--end: sideBarMain -->
      </div><!--end: sideBar 侧边栏容器 -->
      <div class="clear"></div>
      </div><!--end: main -->
      <div class="clear"></div>
      <div id="footer"><!--done-->
      

      Copyright © 2020 程序员大智慧

      Powered by .NET Core 3.1.0 on Linux

      </div><!--end: footer -->
      
      C#屬性使用淺析## C#屬性使用淺析

    这篇关于C#屬性使用淺析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



    http://www.chinasem.cn/article/420213

    相关文章

    如何使用CSS3实现波浪式图片墙

    《如何使用CSS3实现波浪式图片墙》:本文主要介绍了如何使用CSS3的transform属性和动画技巧实现波浪式图片墙,通过设置图片的垂直偏移量,并使用动画使其周期性地改变位置,可以创建出动态且具有波浪效果的图片墙,同时,还强调了响应式设计的重要性,以确保图片墙在不同设备上都能良好显示,详细内容请阅读本文,希望能对你有所帮助...

    Rust中的注释使用解读

    《Rust中的注释使用解读》本文介绍了Rust中的行注释、块注释和文档注释的使用方法,通过示例展示了如何在实际代码中应用这些注释,以提高代码的可读性和可维护性... 目录Rust 中的注释使用指南1. 行注释示例:行注释2. 块注释示例:块注释3. 文档注释示例:文档注释4. 综合示例总结Rust 中的注释

    C# string转unicode字符的实现

    《C#string转unicode字符的实现》本文主要介绍了C#string转unicode字符的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随... 目录1. 获取字符串中每个字符的 Unicode 值示例代码:输出:2. 将 Unicode 值格式化

    Linux使用cut进行文本提取的操作方法

    《Linux使用cut进行文本提取的操作方法》Linux中的cut命令是一个命令行实用程序,用于从文件或标准输入中提取文本行的部分,本文给大家介绍了Linux使用cut进行文本提取的操作方法,文中有详... 目录简介基础语法常用选项范围选择示例用法-f:字段选择-d:分隔符-c:字符选择-b:字节选择--c

    使用Go语言开发一个命令行文件管理工具

    《使用Go语言开发一个命令行文件管理工具》这篇文章主要为大家详细介绍了如何使用Go语言开发一款命令行文件管理工具,支持批量重命名,删除,创建,移动文件,需要的小伙伴可以了解下... 目录一、工具功能一览二、核心代码解析1. 主程序结构2. 批量重命名3. 批量删除4. 创建文件/目录5. 批量移动三、如何安

    springboot的调度服务与异步服务使用详解

    《springboot的调度服务与异步服务使用详解》本文主要介绍了Java的ScheduledExecutorService接口和SpringBoot中如何使用调度线程池,包括核心参数、创建方式、自定... 目录1.调度服务1.1.JDK之ScheduledExecutorService1.2.spring

    Java使用Tesseract-OCR实战教程

    《Java使用Tesseract-OCR实战教程》本文介绍了如何在Java中使用Tesseract-OCR进行文本提取,包括Tesseract-OCR的安装、中文训练库的配置、依赖库的引入以及具体的代... 目录Java使用Tesseract-OCRTesseract-OCR安装配置中文训练库引入依赖代码实

    Python使用Pandas对比两列数据取最大值的五种方法

    《Python使用Pandas对比两列数据取最大值的五种方法》本文主要介绍使用Pandas对比两列数据取最大值的五种方法,包括使用max方法、apply方法结合lambda函数、函数、clip方法、w... 目录引言一、使用max方法二、使用apply方法结合lambda函数三、使用np.maximum函数

    Qt 中集成mqtt协议的使用方法

    《Qt中集成mqtt协议的使用方法》文章介绍了如何在工程中引入qmqtt库,并通过声明一个单例类来暴露订阅到的主题数据,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一,引入qmqtt 库二,使用一,引入qmqtt 库我是将整个头文件/源文件都添加到了工程中进行编译,这样 跨平台

    C++使用栈实现括号匹配的代码详解

    《C++使用栈实现括号匹配的代码详解》在编程中,括号匹配是一个常见问题,尤其是在处理数学表达式、编译器解析等任务时,栈是一种非常适合处理此类问题的数据结构,能够精确地管理括号的匹配问题,本文将通过C+... 目录引言问题描述代码讲解代码解析栈的状态表示测试总结引言在编程中,括号匹配是一个常见问题,尤其是在