前言:

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

Const:

编译器通过const修饰符,用其值取代了使用它的变量,编译器知道常量的值。const修饰变量时,必须得赋值,必定在编译时就已明确并且恒定的

readonly

只读字段在运行期间可以通过构造函数指定,初始化时可以不赋值。

static void Main(string[] args)
{Test test = new Test();//构造方法只运行一次(因为是静态构造函数)Test test2 = new Test();Console.WriteLine("结束-----");
} public class Test{static readonly int A=B*10 ;static readonly int B = 10;static readonly int A1 = 10;static readonly int B1 = A1 * 10;const int C = D * 10;const int D =10;const int C1 = 10;const int D1 = 10 * C1;static Test(){A = 4;Console.WriteLine("A is {0},B is {1} ", A, B);//A is 0,B is 10Console.WriteLine("A1 is {0},B1 is {1} ", A1, B1);//A1 is 10,B1 is 100
Console.WriteLine("C is {0},D is {1} ", C, D);//C is 100,D is 10 Console.WriteLine("C1 is {0},D1 is {1} ", C1, D1);//C is 10,D is 100
        }}

静态常量

转载于:https://www.cnblogs.com/topsyuan/p/11209064.html

C#Const与static readonly的区别相关推荐

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

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

  2. const 与 static readonly 的区别

    来作个例子吧: 先创建一个类库ClassLibrary1.dll using System; namespace ClassLibrary1 {     /// <summary>     ...

  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. 图像边缘检测技术与理论发展脉络梳理大放送
  2. const、static、const staic理解
  3. Visual Studio解决freopen等函数报错函数安全问题
  4. httpRuntime 一点经验---引
  5. python类继承中构造方法_第8.3节 Python类的__init__方法深入剖析:构造方法与继承详解...
  6. 数据科学家数据分析师_站出来! 分析人员,数据科学家和其他所有人的领导和沟通技巧...
  7. Shiro 登录认证源码详解
  8. 使用ssh公钥实现ssh免密码登录
  9. Python中使用psutil查看内存占用的情况(内存)
  10. STL之涉及到的算法
  11. excel的ADO读取ORACLE,【VBA研究】利用ADO让普通人用excel读取oracle数据库表的通用办...
  12. 缺钱的特斯拉,是否在走向“乐视化”?
  13. bzoj4546-codechef XRQRS(可持久化Trie)
  14. 利用Xcode建立PhoneGap应用程序环境
  15. python整型数据源码分析_大师兄的Python源码学习笔记(三): 整数对象
  16. 前端面试题汇总(vue+html基础)最新最全
  17. 谷歌眼镜公开接受预订,全新宣传视频帅爆了_-Chaz-_新浪博客
  18. linux系统盘下垃圾文件,Linux版一键清理系统垃圾文件
  19. c语言编程基础心得,C语言编程学习心得体会
  20. java压缩mp4大小_压缩的mp4视频播放时间太长(exoplayer)

热门文章

  1. cas client 更新ticket_有人知道 cas单点登录系统是怎么样取得proxyticket的?
  2. 路由器上的usb接口有什么用_路由器上面的USB接口有什么用途,你都知道吗?
  3. mysql自动备份linux_Mysql for linux mysql自动备份脚本
  4. python定时器毫秒_Python实现定时精度可调节的定时器
  5. linux 777权限_认识Linux之Linux命令-用户、权限管理(8)
  6. oracle no expand,NO_EXPAND Hint性能优化一例
  7. 银行考试计算机重点知识,银行计算机考试试题
  8. php离线地图,如何发布百度离线地图及二次开发API
  9. 新颖性搜索(Novelty Search,NS)算法实践——利用NS算法解决迷宫导航问题
  10. chrome自定义背景_Android Chrome自定义标签