C#语言知识点整理-常量-创新互联

关键字 const readonly
名称

静态常量

创新互联是一家专注于成都做网站、网站设计与策划设计,镇沅网站建设哪家好?创新互联做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:镇沅等地区。镇沅做网站价格咨询:028-86922220

编译时常量(compile-time constants)

动态常量

运行时常量(runtime constants)

初始化、赋值时机

const 字段只能在该字段的声明中初始化。

readonly 字段可以在声明或构造函数中初始化。

工作原理 const为编译时常量,程序编译时将所有常量引用替换为相应值。 readonly为运行时常量,程序运行时赋值,赋值完成后便无法更改
可维护性 const是编译时替换,防止跨程序集调用问题,所有相关程序集都得编译。 readonly常量更新后,所有引用该常量的地方均能得到更新。
使用场景 取值恒定不变,范围较小。对程序性能要求较高

取值类型范围较大,可以是运行时的常量。如:

public readonly DateTime D = DateTime.MinValue;

性能略有损耗。

初始化、赋值时机 示例说明:

   1: using System;
   2: using System.Collections.Generic;
   3: using System.Linq;
   4: using System.Text;
   5: 
   6: namespace CSharp.Contant_const
   7: {
   8:     class Class1
   9:     {
  10:         const int _x=2013;
  11: 
  12:         Class1(int x)
  13:         {
  14:             //_x = x;//赋值号左边必须是变量、属性或索引器
  15:         }
  16: 
  17:         void Method()
  18:         {
  19:             //_x = 2013;//赋值号左边必须是变量、属性或索引器
  20:         }
  21: 
  22:         static void Main(string[] args)
  23:         {
  24:             //Class1 instance1 = new Class1(2013);
  25:             //instance1._x = 2014;//无法使用实例引用来访问成员
  26: 
  27:             //Class1._x = 2014;//赋值号左边必须是变量、属性或索引器
  28: 
  29:             Console.WriteLine("x:{0}",Class1._x);
  30:         }
  31:     }
  32: }
  33: 

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站名称:C#语言知识点整理-常量-创新互联
网页网址:http://pwwzsj.com/article/jggoj.html