首页
技术库 |  站长工具 | 技术手册 |  字体库 |  知识点词汇表  |  联系我们 |   



主菜单


站点首页
技术手册
字体库
知识点 词汇表
站长工具
高级搜索
联系我们
站点地图

文章分类



文章内容 

当前位置: .: .Net技术 .: 问题集锦 .: c#中const 和 static readonly 区别?
c#中const 和 static readonly 区别?



const

用 const 修饰符声明的成员叫常量,是在编译期初始化并嵌入到客户端程序

static readonly

用 static readonly 修饰符声明的成员依然是变量,只不过具有和常量类似的使用方法:通过类进行访问、初始化后不可以修改。但与常量不同的是这种变量是在运行期初始化

示例:
测试类:
1using System;
2using System.Collections.Generic;
3using System.Text;
4 5namespace Example02Lib
6{
7 public class Class1
8
{ 9 public const String strConst = "Const";
10 public static readonly String strStaticReadonly = "StaticReadonly";
11 //public const String strConst = "Const Changed";
12 //public static readonly String strStaticReadonly = "StaticReadonly Changed";
13 }
14}

客户端代码:
1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4 using Example02Lib;
5
6 namespace Example02
7 {
8 class Program
9 {
10 static void Main( string [] args)
11 {
12 // 修改Example02中Class1的strConst初始值后,只编译Example02Lib项目
13 // 然后到资源管理器里把新编译的Example02Lib.dll拷贝Example02.exe所在的目录,执行Example02.exe
14 // 切不可在IDE里直接调试运行因为这会重新编译整个解决方案!!
15
16 // 可以看到strConst的输出没有改变,而strStaticReadonly的输出已经改变
17 // 表明Const变量是在编译期初始化并嵌入到客户端程序,而StaticReadonly是在运行时初始化的
18 Console.WriteLine( " strConst : {0} " , Class1.strConst);
19 Console.WriteLine( " strStaticReadonly : {0} " , Class1.strStaticReadonly);
20
21 Console.ReadLine();
22 }

23 }

24 }

结果:
strConst : Const
strStaticReadonly : StaticReadonly

修改后的示例:

测试类:
 
 1using System;
 2using System.Collections.Generic;
 3using System.Text;
 4 
 5namespace Example02Lib
 6{
 7    public class Class1
 8    {
 9        //public const String strConst = "Const";
10        //public static readonly String strStaticReadonly = "StaticReadonly";
11        public const String strConst = "Const Changed";
12        public static readonly String strStaticReadonly = "StaticReadonly Changed";
13    }

14}


结果

strConst : Const
strStaticReadonly : StaticReadonly Changed





隐藏文章属性
文章编号:174
点击次数:602
创建日期:11-8-2007
修改日期:11-8-2007
发布人:laohan
点评:
发送此文
发表评论
打印
添加到收藏夹


评级:



相关文章
c#基础概念之const 和...
11-25-2007
textbox控件设置为dis...
11-3-2007

用户评论

此文章还没有任何评论!

网站地图 - 知识词汇 - 全文检索 - 广告服务 - 帮助中心 - 联系我们
.:www.cn-web.com
网站技术开发联盟之WEB开发技术知识库
联系人:老韩(QQ:5679551)
晋ICP备07003487号