C#中的字段与属性的区别及属性的作用

先上代码

public class Employee
{
//字段
private string name;
//属性
public string Name
{
get { return name; }
set { name = value; }
}
}

这段代码中声明了name字段和Name属性,一般来说属性名是变量名的首字母大写

属性的作用是对字段进行赋值时加以限制,因本段代码字段是姓名所以没有限制,下面附一段对年龄赋值加以限制的代码

public class Employee
{
//字段
private byte age;
//属性
public byte Age
{
get { return age; }
set {
if(value >= 18 && value<=60)
age = value;
}
}
}

这段代码对age进行了限制,通过Age属性对age字段赋值,其值只能在18~60才能赋值成功

下面再贴一段调用代码

class TestEmployee
{
static void Main()
{
Employee.NumberOfEmployees = 107;
Employee e1 = new Employee();
//错误,name字段为private私有字段
e1.name = "Claude Vige";
//正确,Name属性通过set方法对name字段赋值
e1.Name = "Claude Vige";
//打印输出e1的姓名,通过Name属性的get方法返回name的值
System.Console.WriteLine("Employee name: {0}", e1.Name);
}
}

最新文章

  1. BOM,文档宽高及窗口事件小析
  2. centos7查看端口命令
  3. jquery 中的事件冒泡
  4. Alfred 使用简介
  5. Java中的流
  6. jq 全选/取消效果
  7. hdu 1166 树状数组 线段树入门
  8. ABAP OO的八大理由
  9. XMPP 初探
  10. app打包,发布(同步发生冲突)
  11. wpf实现IE菜单栏自动隐藏效果
  12. Solr6.5配置中文分词器
  13. ArcGIS API for JavaScript 4.2学习笔记[25] 官方第八章Analysis(空间查询)概览与解释
  14. 独立开发一个云(PaaS)的核心要素, Go, Go, Go!!!
  15. 浅析&quot;Sublabel-Accurate Relaxation of Nonconvex Energies&quot; CVPR 2016 Best Paper Honorable Mention
  16. Axure PR的使用
  17. Qt窗口定制
  18. Stack的相关API
  19. 对于低版本IE,ajax的设置处理
  20. MySQL数据库语法-多表查询练习一

热门文章

  1. DNA Sequence POJ - 2778 AC自动机 &amp;&amp; 矩阵快速幂
  2. Go - 实现项目内链路追踪(二)
  3. SpringSecurity认证流程
  4. Leetcode(22)-括号生成
  5. 操作系统 part5
  6. USB2.0协议学习笔记---USB数据包结构
  7. learning 2018
  8. BPMN 2.0
  9. 解析js字符串
  10. 初学c++,vc++6.0必备!