C#面试题

当前位置: 面试问题网 > C#面试题 > const和static readonly区别

const和static readonly区别

答: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

【const和static readonly区别】相关文章

1. const和static readonly区别

2. const char*, char const*, char*const的区别是什么

3. 什么是Connection-oriented Protocol/Connectionless Protocol面向连接的协议/无连接协议

4. 软件测试LoadRunner面试题: Where do you set automatic correlation options?

5. 若通过ObjectOutputStream向一个文件中多次以追加方式写入object,为什么用ObjectInputStream读取这些object时会产生StreamCorruptedExcepti

6. 软件测试LoadRunner面试题:What is correlation? Explain the difference between automatic correlation and manu

7. Java中compareTo和compare的区别

8. System.Array.CopyTo()和System.Array.Clone()有什么区别

9. Collection和Collections的区别

10. OLEDBConnection和SQLConnection有什么区别

本文来源:https://www.mianshiwenti.com/a13006.html

点击展开全部

《const和static readonly区别》

将本文的Word文档下载到电脑,方便收藏和打印

推荐程度:

进入下载页面

﹝const和static readonly区别﹞相关内容

「const和static readonly区别」相关专题

其它栏目

也许您还喜欢