来作个例子吧:
先创建一个类库ClassLibrary1.dll

using System;

namespace ClassLibrary1
{
    /// <summary>
    /// Class1 的摘要说明。
    /// </summary>
    public class Class1
    {
        public const string CONSTSTRING = "const";
        public static readonly string READONLYSTRING = "readonly";

public Class1()
        {
            //
            // TODO: 在此处添加构造函数逻辑
            //
        }
    }
}

再创建一个Windows应用程序WindowsApplication1,在窗体上放两个按钮,分别添加功能


        private void button1_Click(object sender, System.EventArgs e)
        {
            MessageBox.Show(ClassLibrary1.Class1.CONSTSTRING);
        }

private void button2_Click(object sender, System.EventArgs e)
        {
            MessageBox.Show(ClassLibrary1.Class1.READONLYSTRING);        
        }

运行程序,可以看到点击按钮的结果是分别弹出 “const” 和 “readonly”,好,例子还没完呢,继续
这时将Class1改为

using System;

namespace ClassLibrary1
{
    /// <summary>
    /// Class1 的摘要说明。
    /// </summary>
    public class Class1
    {
        public const string CONSTSTRING = "const1";
        public static readonly string READONLYSTRING = "readonly1";

public Class1()
        {
            //
            // TODO: 在此处添加构造函数逻辑
            //
        }
    }
}

重新编译,注意只编译ClassLibrary1,将生成的ClassLibrary1.dll复制到WindowsApplication1.exe的运行目录,覆盖上一次生成的ClassLibrary1.dll,再直接运行WindowsApplication1.exe,看一下,是不是分别弹出“const”和“readonly1”了。这就对了,const 作为常量是被直接编译到引用程序集中的,而static readonly是作为成员在调用时才到获取的。

const 与 static readonly 的区别相关推荐

  1. C#中const和static readonly 的区别

    我们都知道,const和static readonly的确很像:通过类名而不是对象名进行访问,在程序中只读等等.在多数情况下可以混用. 二者本质的区别在于,const的值是在编译期间确定的,因此只能在 ...

  2. C#Const与static readonly的区别

    前言: Const与readonly我们应该都用过,我们只知道这个关键字很像,都是通过类型访问,并且在程序中都是只读,但是很少有人能分清楚两个的差别,今天我们来细谈Const与readonly. Co ...

  3. c# 中const 和 static readonly 的区别

    C# 在处理const关键字的时候,直接嵌入值来进行编译. 而在处理readonly关键字的时候,是动态引用的. 转载于:https://www.cnblogs.com/suneryong/archi ...

  4. const和static readonly 区别

    我们都知道,const和static readonly的确很像:通过类名而不是对象名进行访问,在程序中只读等等. 在多数情况下可以混用. 二者本质的区别在于,const的值是在编译期间确定的,因此只能 ...

  5. const常量和readonly常量区别

    1.const常量为静态常量:readonly常量为动态常量: 2.const常量在编译时值被确定,在运行时值为编译时值:readonly常量,在编译时为类型的默认值(非指定的默认值),在运行时值被确 ...

  6. C#中const和readonly的区别

    C#引入了readonly修饰符来表示只读域,const来表示不变常量.顾名思义对只读域不能进行写操作,不变常量不能被修改,这两者到底有什么区别呢?只读域只能在初始化--声明初始化或构造器初始化--的 ...

  7. C# static readonly 与 const 的区别

    static readonly 与 const 的区别: const 表达式的值是在编译时形成的: static readonly 表达式的值直到程序运行时才形成: 转载于:https://www.c ...

  8. 总结const、readonly、static三者的区别【收藏、转载】20190614

    总结const.readonly.static三者的区别 const:静态常量,也称编译时常量(compile-time constants),属于类型级,通过类名直接访问,被所有对象共享! a.叫编 ...

  9. const和readonly内部区别

    const和readonly关键字也是面试中经常考到的问题,通常都是用来表示一个不可变的变量成员,那么具体区别是什么?从用法上说,const只能以inline代码的形式定义,而readonly既可以以 ...

最新文章

  1. 2022-2028年中国汽车工业行业研究及前瞻分析报告
  2. Microbiome:植物发育和氮肥共同作用下的小麦根系微生物组
  3. 分享5个免费的在线 SQL 数据库环境,简直太方便了!
  4. html5二次元插件,送你PS一键制作动漫二次元插件,80套背景+50种效果+20款中英字体...
  5. java之spring mvc之初始spring mvc
  6. twisted.internet.error.TimeoutError错误的解决方法
  7. Docker-创建一个mysql容器,并保存为本地镜像
  8. 实战 es6_腾讯云 Elasticsearch 实战篇(二十二) ES6.8权限使用配置
  9. java反射随意值_Java反射总结
  10. python获取绝对路径的区别_python 获取路径不同方法的比较
  11. 典范杜希奇与机器人_典范英语7_16 杜希奇与机器人.ppt
  12. 【Ahoi2005】【BZOJ1968】COMMON 约数研究(水题,乱搞,约数)
  13. tensorflow学习笔记(1)如何高效地学习TensorFlow(附链接)
  14. 大厂标配的动态化解决方案,高阶技术从未如此简单
  15. 安卓版本与adb的问题
  16. 好用的APS系统是什么样的?
  17. 小 Biu 的旅行(dfs)
  18. 抖音抓包获取cookie
  19. Tomcat正常启动却访问不了·解决方法
  20. 再挤牙膏 2018年英特尔八代酷睿处理器你仍会失望

热门文章

  1. request获取int类型的值_获取通话记录或通讯录的数量为负值
  2. Xamarin Android真机测试报错
  3. Xamarin iOS教程之添加和定制视图
  4. mongodb cond 模糊查询_为了实现在线库的复杂查询,你还在双写吗?
  5. 防范最新勒索病毒--坏兔子病毒(伪造Adobe Flash Player更新)的方法
  6. 计算机组装需要的硬件,组装电脑选择硬件,只要记住2个装机思路,选好硬件配置不是难题...
  7. 鸿蒙os不需要wifi,【鸿蒙HarmonyOS HiSpark IPC DIY Camera】hi3518-wifi的配置与使用
  8. 英特尔杀入游戏显卡市场:3000元档位,支持光追和AI超分辨率,挑战AMD英伟达...
  9. 小马智行最新估值曝光
  10. IDC最新报告:阿里语音AI登顶中国No.1