讲理论知识之前,先看一段代码:

public class Emp
{//字段private int age;//属性public int Age{get { return age; }set { age = value; }}
}

大家可以看到上面实例代码中,声明了一个名为age的字段,还有一个名为Age的属性,在C#中,一般属性名是字段名的首字母大写(字段名为age,属性名为Age),那么有人可能不明白属性到底是什么?有什么作用?

属性(Property) 是类(class)、结构(structure)和接口(interface)的命名成员。类或结构中的成员变量或方法称为 字段(Field)。属性(Property)是字段(Field)的扩展,且可使用相同的语法来访问。它们使用 访问器(accessors) 让私有域的值可被读写或操作。

让我们在回到上面的案例中,假如用户输入一个不符合实际的年龄,例如200,或者-18岁,如果我们不做点处理的话,肯定会造成数据不安全不严谨,那么对于这样的问题,我们需要怎样限制呢?

可以这样:

public class Emp
{//字段private int age;//属性public int Age{get { return age; }set {if(value <= 100 && value>=0){age = value;}else{age = 18;}}}
}

上面代码的含义就是,如果传入的年龄是0-100之间的数,那么实际年龄即传入年龄,否则实际年龄即是18;

接下来我们看看怎么进行调用属性:

static void test() {Emp emp = new Emp();//赋值:emp.Name = "周树人";//获取值string name = emp.Name;Console.WriteLine(name);}

运行结果:

周树人

一般,如果我们对该字段没有特殊需求进行限制时,我们可以使用这种写法:

public class Emp
{//字段private int age;//属性public int Age{get { return age; }set { age = value; }}
}

参考文章:菜鸟教程

文章地址:https://www.runoob.com/csharp/csharp-property.html

公众号:雄雄的小课堂

CSDN:穆雄雄的博客

C#基础知识详解之【字段与属性】相关推荐

  1. 网络管理之基础知识详解

    网络管理之基础知识详解 目录 3.1 网络的特征 3.2 拓扑结构 4.1 OSI简介 4.2 数据传输过程 4.3 分层作用 4.4 PDU 5.1 单播 5.2 多播 5.3 广播 5.4 三种通 ...

  2. 【BLE】OTA基础知识详解

    [BLE]OTA基础知识详解 一. 概念 1. 缩写 BIM Boot Image Manager , the software bootloader CRC cyclic redundancy ch ...

  3. R语言基础知识详解及概括

    R语言基础知识详解及概括 目录 R语言基础知识详解及概括 R数据可视化示例 R语言进行数据创建

  4. R语言可视化绘图基础知识详解

    R语言可视化绘图基础知识详解 图形参数:字体.坐标.颜色.标签等: 图像符号和线条: 文本属性: 图像尺寸及边界: 坐标轴.图例自定义等: 图像的组合: #install.packages(c(&qu ...

  5. 计算机网络相关知识 参考博客 子网掩码怎么理解 网关及网关的作用 路由器基础知识详解

    子网掩码怎么理解 https://blog.csdn.net/farmwang/article/details/64132723 网关及网关的作用 https://blog.csdn.net/zhao ...

  6. RabbitMQ基础知识详解

    RabbitMQ基础知识详解 2017年08月28日 20:42:57 dreamchasering 阅读数:41890 标签: RabbitMQ 什么是MQ? MQ全称为Message Queue, ...

  7. Android随机点名器,Excel基础知识-详解随机点名器

    说道制作个案例纯粹意外,我多少有点选择恐惧症,为了不在"选择"上纠结,就自己小玩了一下,就用了程序做了个选择器,其实很简单,就是有小时候玩的"点兵点将",稍微变 ...

  8. Python基础知识详解 从入门到精通(八)魔法方法

    目录 Python基础知识详解 从入门到精通(八)魔法方法 什么是魔法方法 基础魔法方法(较为常用) 比较操作符 算数运算符 反运算(类似于运算方法) 增量赋值运算 一元操作符 类型转换 上下文管理( ...

  9. 工业相机基础知识详解

    工业相机基础知识详解 工业相机是机器视觉系统的一个最关键的组件.他的功能很简单,就是将被检测的物体拍摄下来,然后转换成电脑可以识别的图像,以便以后进行图像处理,从而完成检测任务.工业相机俗称工业摄像机 ...

  10. 小白入门!网络安全基础知识详解(附知识问答)

    小白入门!网络安全基础知识详解(附知识问答) 一.引论 提到网络安全,一般人们将它看作是信息安全的一个分支,信息安全是更加广义的一个概念:防止对知识.事实.数据或能力非授权使用.误用.篡改或拒绝使用所 ...

最新文章

  1. java step1:基础知识5(java中Timer和TimerTask的使用)
  2. JQuery Tab菜单的实现
  3. hdu3793 判断对称(水题)
  4. 针对视觉位姿估计特征点优化问题的详细研究
  5. Console.log对象显示
  6. 关于CDC在非控件类中的使用
  7. 数据库oracle有哪些函数,Oracle函数大全
  8. 张宇真题全解(纯题目)
  9. python Django项目汇总(毕设、课设、学习)
  10. 对数函数log()用法
  11. Codeforces 1092D1. Great Vova Wall (Version 1)
  12. Easyui之datagrid修改
  13. 达内微软mta证书有用吗_mta证书值得拿吗 怎么样才能拿到mta证书
  14. vs 没法f12_键盘快捷键 - F12不再适用于Visual Studio
  15. 服务器可以指定一个网卡只和某个地址通信吗_彻底搞懂计算机网络通信设备与协议...
  16. Android /iPhone/iPad UI之常用图标尺寸规范
  17. 7-4 鸿鸿哥分钱(C++)
  18. 顺利解决org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException!
  19. 化工单元操作复习题(含答案)
  20. AE基础教程第一阶段——14塌陷

热门文章

  1. 含根号的导数怎么求_数学分析Mathematical Analysis笔记整理 第四章 导数与微分
  2. Opencv SVM demo
  3. HDU 6579 Operation (前缀线性基模板题)
  4. #3864. Hero meet devil dp套dp + 状压 + 状态机
  5. FZU - 2042 The Mad Mathematician 数位dp + 算贡献
  6. LG P4899 [IOI2018] werewolf 狼人(kruskal重构树,二维数点)
  7. P2000 拯救世界
  8. Double Strings
  9. 牛客题霸 [旋转字符串]C++题解/答案
  10. 牛客网【每日一题】4月21日题目精讲 糖糖别胡说,我真的不是签到题目