const和static readonly区别


Posted in 面试题 onMay 20, 2013
答:const
用 const 修饰符声明的成员叫常量,是在编译期初始化并嵌入到客户端程序
static readonly
用 static readonly 修饰符声明的成员依然是变量,只不过具有和常量类似的使用方法:通过类进行访问、初始化后不可以修改。但与常量不同的是这种变量是在运行期初始化
示例:
测试类:
using System;
using System.Collections.Generic;
using System.Text;
namespace Example02Lib
{
public class Class1
{
public const String strConst = “Const”;
public static readonly String strStaticReadonly = “StaticReadonly”;
//public const String strConst = “Const Changed”;
//public static readonly String strStaticReadonly = “StaticReadonly Changed”;
}
}
客户端代码:
using System;
using System.Collections.Generic;
using System.Text;
using Example02Lib;
namespace Example02
{
class Program
{
static void Main(string[] args)
{
//修改Example02中Class1的strConst初始值后,只编译Example02Lib项目
//然后到资源管理器里把新编译的Example02Lib.dll拷贝Example02.exe所在的目录,执行Example02.exe
//切不可在IDE里直接调试运行因为这会重新编译整个解决方案!!
//可以看到strConst的输出没有改变,而strStaticReadonly的输出已经改变
//表明Const变量是在编译期初始化并嵌入到客户端程序,而StaticReadonly是在运行时初始化的
Console.WriteLine(“strConst : {0}”, Class1.strConst);
Console.WriteLine(“strStaticReadonly : {0}”, Class1.strStaticReadonly);
Console.ReadLine();
}
}
}
结果:
strConst : Const
strStaticReadonly : StaticReadonly
修改后的示例:
测试类:
using System;
using System.Collections.Generic;
using System.Text;
namespace Example02Lib
{
public class Class1
{
//public const String strConst = “Const”;
//public static readonly String strStaticReadonly = “StaticReadonly”;
public const String strConst = “Const Changed”;
public static readonly String strStaticReadonly = “StaticReadonly Changed”;
}
}
结果
strConst : Const
strStaticReadonly : StaticReadonly Changed

Tags in this post...

面试题 相关文章推荐
我的applet原先好好的, 一放到web server就会有问题,为什么?
May 10 面试题
List、Map、Set三个接口,存取元素时,各有什么特点?
Sep 27 面试题
求网格中的黑点分布
Nov 06 面试题
写一个函数返回1+2+3+…+n的值(假定结果不会超过长整型变量的范围)
Sep 05 面试题
某公司的.net工程师面试题笔试题
Nov 22 面试题
NET程序员上机面试题
May 23 面试题
简述网络文件系统NFS,并说明其作用
Oct 19 面试题
武汉瑞得软件笔试题
Oct 27 面试题
静态成员和非静态成员的区别
May 12 面试题
AJax面试题
Nov 25 面试题
有abstract方法的类一定要用abstract修饰吗
Mar 14 面试题
Java如何读取CLOB字段
Oct 10 面试题
某公司C#程序员面试题笔试题
May 26 #面试题
C#里面如何判断一个Object是否是某种类型(如Boolean)?
Feb 10 #面试题
C#里面可以避免一个类被其他类继承么?如何?
Sep 26 #面试题
extern是什么意思
Mar 10 #面试题
星空联盟C# .net笔试题
Dec 05 #面试题
C#里面如何倒序排列一个数组的元素?
Jun 21 #面试题
C#如何允许一个类被继承但是避免这个类的方法被重载?
Feb 24 #面试题
You might like
PHP的类 功能齐全的发送邮件类
2006/10/09 PHP
检查用户名是否已在mysql中存在的php写法
2014/01/20 PHP
PHP中mysql_field_type()函数用法
2014/11/24 PHP
php导入模块文件分享
2015/03/17 PHP
在Mac OS上搭建PHP的Yii框架及相关测试环境
2016/02/14 PHP
jQuery 源码分析笔记(5) jQuery.support
2011/06/19 Javascript
javascript中数组的sort()方法的使用介绍
2013/12/18 Javascript
无刷新预览所选择的图片示例代码
2014/04/02 Javascript
jQuery progressbar通过Ajax请求实现后台进度实时功能
2016/10/11 Javascript
Angular在一个页面中使用两个ng-app的方法
2017/02/20 Javascript
深入理解vue Render函数
2017/07/19 Javascript
深入浅析javascript继承体系
2017/10/23 Javascript
微信小程序实现鼠标拖动效果示例
2017/12/01 Javascript
详解新手使用vue-router传参时注意事项
2019/06/06 Javascript
原生js无缝轮播插件使用详解
2020/03/09 Javascript
python操作MySQL数据库的方法分享
2012/05/29 Python
python numpy数组的索引和切片的操作方法
2018/10/20 Python
python将一组数分成每3个一组的实例
2018/11/14 Python
python dict 相同key 合并value的实例
2019/01/21 Python
在django中图片上传的格式校验及大小方法
2019/07/28 Python
python 消除 futureWarning问题的解决
2019/12/25 Python
python定义类的简单用法
2020/07/24 Python
CSS3 优势以及网页设计师如何使用CSS3技术
2009/07/29 HTML / CSS
SKECHERS官方旗舰店:美国舒适运动休闲品牌
2017/12/22 全球购物
英国最受欢迎的在线隐形眼镜商店:VisionDirect.co.uk
2018/12/06 全球购物
迪奥美国官网:Dior美国
2019/12/07 全球购物
接口可以包含哪些成员
2012/09/30 面试题
中专生自我鉴定书范文
2013/12/28 职场文书
大学生学习自我评价
2014/01/13 职场文书
求职自荐信的格式
2014/04/07 职场文书
2014光棍节单身联谊活动策划书
2014/10/10 职场文书
大学生党员自我批评思想汇报
2014/10/10 职场文书
2014年银行柜员工作总结
2014/11/12 职场文书
工程部文员岗位职责
2015/02/04 职场文书
解决mysql的int型主键自增问题
2021/07/15 MySQL
Mysql忘记密码解决方法
2022/02/12 MySQL