.net框架笔记(四)
第八章 常数与字段
一.常数(const)
定义一个常数时,我们必须能够在编译时确定它的值.通过编译后,编译器将常数的值保存在其所定义模块的元数据内.这意味着常数的类型只能是那些编译器认为的基元类型。(c#中,下面的类型可以称为基元类型, Boolean.char.byte,sbyte,decimal,int16,uint16,int32,uint32,int64,uint64,single,double以及string,枚举类型由于本身以基元类型形式存储,故也可以被用来定义常数,但它不是基元类型)
只有基元类型的数据成员在编译时直接进行初始化.而非基元类型的数据成员只能在运行时调用构造器来完成初始化.
常数在运行时不再需要任何的内存分配.也不能获取常数的地址,
二.字段(readonly)
字段保存一个值类型的实例,或一个指向引用类型的引用.在该类型被加载进入一个应用程序时为其分配动态内存.
因为字段是以动态内存的形式存储的.因此只能在运行时刻获取他们的值,
有只读字段和读写字段两种.
只读字段只能在构造器内被赋值(构造器在对象初次创建时被执行,且只执行一次).对于静态只读字段,则只能在静态构造器内赋值.
1
2 class SomeType
3 {
4 //一个静态只读字段,它的值将在运行时
5 //类被初始化时计算并存储在内存中
6 public static readonly Random random = new Random();
7
8 //一个静态读写字段
9 static int numberofWrites = 0;
10
11 //一个实例只读字段
12 public readonly string pathName = "untitled";
13
14 //一个实例读写字段
15 public System.IO.FileStream fs;
16
17 public SomeType(string pathName)
18 {
19 //该行修改只读字段pathName
20 //因为是在构造器中,所以可以
21 this.pathName = pathName;
22 }
23
24 public String DoSomeThing()
25 {
26 //该行首先读取静态读写字段,然后又被赋值
27 numberofWrites = numberofWrites + 1;
28
29 //该行读取实例只读字段
30 return pathName;
31 }
转载于:https://www.cnblogs.com/dreamersjun/archive/2008/09/16/1291634.html
.net框架笔记(四)相关推荐
- ET框架笔记 (笑览世界写)(转)
客户端 1.使用unity2017.2.0版本及以上2018版以下,编译原始版ET客户端报没有引用错误时,删除hoxfit下引用的UnityEngine.dll和UnityEngine.UI.dll, ...
- 《MFC游戏开发》笔记四 键盘响应和鼠标响应:让人物动起来
本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9327377 作者:七十一雾央 新浪微博:http:// ...
- 【Visual C++】游戏开发笔记四十三 浅墨DirectX教程十一 为三维世界添彩:纹理映射技术(二)...
本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 作者:毛星云(浅墨) 邮箱: happylifemxy@163.com 本篇文章里,我们首先对Direct3D之中固定功能流水线中的 ...
- H5直播站点运维笔记四 压测篇
H5直播站点运维笔记四 压测篇 压测篇 一.测试环境 1.CPU 2.内存 3.操作系统 4.WEB环境 二.优化前压测 三.开启opcache优化 四.laravel 缓存配置/路由/类映射加载优化 ...
- STM32F103学习笔记四 时钟系统
STM32F103学习笔记四 时钟系统 本文简述了自己学习时钟系统的一些框架,参照风水月 1. 单片机中时钟系统的理解 1.1 概述 时钟是单片机的脉搏,是单片机的驱动源 用任何一个外设都必须打开相应 ...
- MySQL高级学习笔记(四)
文章目录 MySQL高级学习笔记(四) 1. MySql中常用工具 1.1 mysql 1.1.1 连接选项 1.1.2 执行选项 1.2 mysqladmin 1.3 mysqlbinlog 1.4 ...
- ET 框架笔记【转载】
ET框架笔记 (笑览世界写)(转) 客户端 1.使用unity2017.2.0版本及以上2018版以下,编译原始版ET客户端报没有引用错误时,删除hoxfit下引用的UnityEngine.dll和U ...
- 【Visual C++】游戏开发笔记四十三 浅墨DirectX教程十一 为三维世界添彩 纹理映射技术 二
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本系列文 ...
- C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻
前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...
- Java基础知识强化之集合框架笔记76:ConcurrentHashMap之 ConcurrentHashMap简介
1. ConcurrentHashMap简介: ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和Hashtable功能相同但是线程安全的方法.Conc ...
最新文章
- 【错误记录】Git 使用报错 ( git branch -a 仍能查询到已经删除的远程分支 )
- 最大信息系数MIC--minepy安装
- 《数据整理实践指南》一第1章 从头说起:什么是噪音数据
- java图片裁剪并保存_java裁剪图片并保存的示例分享
- 2018/7/18-纪中某C组题【jzoj3508,jzoj3509,jzoj3510,jzoj3512】
- 【NBIoT无线模块DTU数传电台】串口服务器RS232/RS485端口工业路由信号传输
- 聊聊ExecutorService的监控
- qt mysql乱码_Qt连接mysql 并且 解决中文乱码问题
- json与jsonp应用及其他ajax数据交互方式
- 设置SVN忽略文件和文件夹(文件夹)
- Win11未检测到Logitech Unifying接收器的解决方法
- python中len和range函数_for循环len函数和range函数的运用
- Django part 6 ---Static File
- 如何将其他注册商处的域名申请转出并转入阿里云(图文教程)
- 从董明珠称格力将会接入鸿蒙系统,是否可以看出手机圈的不堪?
- poi导出excel时设置单元格为数字类型(解决:导出Excel时为文本类型选中一整列不能求和问题)
- 时间戳转换为年月日时分秒
- CTF show 萌新区解题报告 (一)
- 电子表格多轴图表_如何在Google表格中切换图表轴
- 智慧建筑的几个常见误区