【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 消息模式,这是为什么?系统转换了吗 ...
随机推荐
- html的笔记
网页标准(w3c) ☞结构标准 html(骨骼)☞表现标准 CSS(美化师)☞行为标准 JavaScript(动作) 1.1 浏览器介绍 主流浏览器: ◆内核: 渲染引擎 ...
- MongoDB基本使用
成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作. 输入help可以看到基本操作命令: show dbs:显示数据库列表 show collections:显示 ...
- Vue.js组件之联动下拉框
Html代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...
- Android课程---如何用网格视图做出手机桌面APP
activity_test.xml <?xml version="1.0" encoding="utf-8"?> <GridView xmln ...
- android删除无用资源文件的python脚本
随着android项目的进行,如果没有及时删除无用的资源时安装包会越来越大,是时候整理一下废弃资源缩小压缩包了,少年! 其实判断一个资源(drawable,layout)是否没有被使用很简单,文件名( ...
- asp.net identity 2.2.0 在WebForm下的角色启用和基本使用(三)
角色管理功能: 界面部分: <%@ Page Title="" Language="C#" MasterPageFile="~/Site.mas ...
- C#组合查询小Demo
namespace WindowsFormsApplication1 { public partial class Form1 : Form { string Sql = "select * ...
- 总结-html
页面尺寸: var w = document.body.scrollWidth; (w + "px")var h = document.body.scrollHeight; (h ...
- angular前端开发环境
1.代码编辑工具 webstorm 2.断点调试工具 chrome插件Batarang 3.版本管理工具 git(仅仅是命令行工具) git小乌龟--tortoisegit(图形化工具) 首先在git ...
- web前端开发和后端开发有什么区别?
web前端分为网页设计师.网页美工.web前端开发工程师 首先网页设计师是对网页的架构.色彩以及网站的整体页面代码负责 网页美工只针对UI这块儿的东西,比如网站是否做的漂亮 web前端开发工程师是负责 ...