【001:C# 中 get set 简写存在的陷阱】
如下代码:
public class Age
{ private int ageNum ; public int AgeNum {
get{
return this.ageNum;
} set{
this.ageNum = value;
}
} public int getAgeNum(){
return ageNum;
} public void setAgeNum(int age){
this.ageNum = age;
} }
在Main中做如下操作:
Age age = new Age ();
age.setAgeNum ();
Console.WriteLine ("age=" + age.AgeNum); age.AgeNum = ;
Console.WriteLine ("age=" + age.getAgeNum());
输出:
age=234
age=122
但如果将 set get 采用简写方式,代码如下
public class Age
{ private int ageNum ; public int AgeNum { set; get;
} public int getAgeNum(){
return ageNum;
} public void setAgeNum(int age){
this.ageNum = age;
} }
Main中内容不变,得到如下结果
age=0
age=234
如果修改Main中代码顺序如下
age.AgeNum = ;
Console.WriteLine ("age=" + age.getAgeNum()); age.setAgeNum ();
Console.WriteLine ("age=" + age.AgeNum);
结果为
age=0
age=122
-------------------------------------------------------- 更新 -------------------------------------------
时间:2016/09/19
仔细思考后,ageNum 和 AgeNum 两者实际上并无关联。
使用
public int AgeNum {
get{
return this.ageNum;
}
set{
this.ageNum = value;
}
}
实际上就是等同 java 中的getValue和setValue。
而使用 set;get简写的方式,操作的是AgeNum,与ageNum没有任何关系。
【001:C# 中 get set 简写存在的陷阱】的更多相关文章
- CSS中常用的简写模式
一.font属性简写 font-style:字体样式 normal 默认值.浏览器显示一个标准的字体样式. italic 浏览器会显示一个斜体的字体样式. oblique 浏览器会显示一个倾斜的字体样 ...
- 001 Python中的基本类型初步介绍
这个但是根据书来整理的,显得有些多,也不够完整. 一:介绍 1.为什么使用内置对象 对象类型是语言的一个部分 内置对象构成了每个python程序的核心部分 二:数字 1.**是乘方 2.math数学模 ...
- [erlang 001] erlang中的错误及异常处理
一. erlang中的错误 1. 分类 1) 编译错误:主要是编译器检测出的代码语法错误: 2) 逻辑错误:是指程序没有完成预期的工作,属于开发人员的问题: 3) 运行时错误:是指erlang运行时抛 ...
- 001 Python中的变量和字符串
1.Python“变量”更像“名字” 变量名就像我们现实社会的名字,把一个值赋值给一个名字时,Ta会存储在内存中,称之为变量(variable). 在大多数语言中,都把这种行为称为“给变量赋值”或“把 ...
- HTML中的颜色简写
1.HTML中颜色的五种写法 1)直接用颜色英文名字表示 例如表示背景颜色为白色: 2.通过16进制数表示 例如表示背景颜色为黑色 3).通过RGB方式表示 RGB:是红色(red)绿色(green) ...
- labview 中的一些简写全称
MAX:Measurement & Automation Explorer 测量自动化管理器 :可用于配置DAQ通道名称,VISA资源名称和IVI逻辑名称. DAQ: Device Data ...
- js中if的简写方法
http://transitions1020.com/# 太帅! <script type="text/javascript"> 如果你想写 if (!false) { ...
- 001 Ajax中XMLHttpRequest的讲解
1.介绍 2.方法 3.程序位置设计 4.程序(针对XMLHttpRequest) <%@ page language="java" contentType="te ...
- 20170223-问题001,增强中的E消息 显示为 S模式消息,
MM01 的屏幕增强,里面写的 MESSAGE e056(z1) WITH '供应链计划(SCP) 储备物料与当期物料不能同时选择.'.可是现实出来是S 消息模式,这是为什么?系统转换了吗 ...
随机推荐
- jQuery 使得文本框获得焦点
今天遇见这么一个小小的问题,就是文本框中需要输入内容才可以提交,如果没有输入就提示并使该文本框获得焦点! 这么一个简单的事情如果没有使用jQuery的话 是不是对象.focus()就可以了, 可是 ...
- C#自定义控件属性显示在属性面板中操作
private Color controleColor; [Browsable(true)] [Description("控件颜色"), Category("自定义&qu ...
- Hibernate学习笔记5
hql语句的查询(hibernate query language) hql和sql语句的区别sql:语言关系型数据库里面的通用查询,结构化查询语言,查看的是表以及表的列hql是hibernate中独 ...
- C# WinForm 慎用 override CreateParams 来重载窗体的一些特性
窗体和控件的属性CreateParams(这真的是一个属性)很神奇,因为通过它你能够很方便的控制窗体或控件诸如边框.最大化最小化关闭按钮的隐藏.窗体的模式化弹窗模式等的一些特性.虽然,CreatePa ...
- 李洪强iOS经典面试题141-报错警告调试
李洪强iOS经典面试题141-报错警告调试 报错警告调试 你在实际开发中,有哪些手机架构与性能调试经验 刚接手公司的旧项目时,模块特别多,而且几乎所有的代码都写在控制器里面,比如UI控件代码.网络 ...
- winform 进程,线程
进程:一个程序就是一个进程,但是也有一个程序需要多个进程来支持的情况 进程要使用的类是:Process它在命名空间:System.Diagnostics; 静态方法Start(); 点击按钮打开一个程 ...
- 20145205 java语言实现数据结构实验一
数据结构实验要求 综合类实验设计3 已知有一组数据a1a2a3a4--anb1b2b3b4--bm,其中ai均大于bj,但是a1到an和b1到bm不是有序的,试设计两到三个算法完成数据排序,且把bj数 ...
- 【javaweb学习】XML和约束模式
xml:可扩展标记语言,w3c组织发布的,用于保存有关系的数据,作为配置文件,描述程序模块之间的关系 <?xml version="1.0" encoding="g ...
- 自定义RecyclerView.ItemDecoration,实现RecyclerView的分割线效果
[转] 原文 自定义RecyclerView.ItemDecoration,实现RecyclerView的分割线效果 字数1598 阅读302 评论2 喜欢23 1.背景 RecyclerView ...
- Thymeleaf 与 Javascript
在 javascript 代码中使用 Thymeleaf 模板引擎: <script th:inline="javascript"> $("#content& ...