const readonly区别说明

图标

豆瓜

豆瓜网

豆瓜网专栏

首发
豆瓜 图标 2020-07-21 10:37:50

const 和 static readonly 区别?

答:

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

示例:

测试类:


[object Object]Code
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";
    }
}


 

客户端代码:


[object Object]Code
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


修改后的示例:

测试类:


[object Object]Code
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 readonly
图标 图标

豆瓜

豆瓜网

豆瓜网专栏

  • const readonly区别说明

    图标
    豆瓜 图标 · 今天 10:37:50 · 0浏览
  • svn服务器搭建搭建说明

    图标
    豆瓜 图标 · 今天 10:35:42 · 6浏览
  • request.querystring区别详解

    图标
    豆瓜 图标 · 今天 10:32:40 · 5浏览
  • 全部评论

    豆瓜

    豆瓜网

    豆瓜网专栏

  • const readonly区别说明
  • svn服务器搭建搭建说明
  • request.querystring区别详解
  • convert.toint32作用说明
  • linux查看操作系统版本方法
  • 我来说两句