说道定义的变量不容修改的问题,不得不说起C#中还有一个readonly关键字,也是使用在字段上定义不容修改的值,但是const和readonly有几个区别,  
          区别1)   在语法上,const定义的字段只能在字段声明时初始化,而readonly字段既可以在声明时初始化,也可以在构造函数中初始化,根据不同的初始化,readonly定义的字段可能会得到不同的值.  
          区别2)   在编译时,因为const字段在声明时即初始化,所以是编译时常数,而readonly字段虽然是只读的,其值却可能要等到一个对象初始化后才能知晓,所以可以是运行时常数(但readonly字段如在声明时初始化仍是编译时常数).  
          区别3)   在使用时,const字段不能用static关键字修饰,但readonly可以.

转载于:https://www.cnblogs.com/zwl12549/archive/2007/10/08/917057.html

const和readonly相关推荐

  1. const与readonly,析构函数,虚拟方法

    const 与readonly    const 关键字用于修改字段或局部变量的声明.它指定字段或局部变量的值不能被修改.常数声明引入给定类型的一个或多个常数.     常数声明可以声明多个常数,例如 ...

  2. const和readonly内部区别

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

  3. 20100422.C#.const VS readonly

    const和readonly这对"顽固"的兄弟着实会让我这样的菜鸟迷惑. 研究了一番算是有所感悟了. const常量在编译时就会确定值,编译器直接进行值replace,就像是C语言 ...

  4. C# 总结const、 readonly、 static三者区别:

    总结const. readonly. static三者区别: (有人问我,看似简单,我也没能立刻回答出来,总结一下,分享一下.) const:静态常量,也称编译时常量(compile-time con ...

  5. 如何在 C# 中使用 const,readonly,static

    平时在开发时经常会用到 const,readonly,static 关键字,可以肯定这些关键词是完全不同的概念,但有时候他们在用法上很相似以至于在场景中不知道选择哪一个,这篇文章我们就来讨论 C# 中 ...

  6. const 和readonly

    原文:http://www.cnblogs.com/royenhome/archive/2010/05/22/1741592.html 关于 const和readonly修饰符之间的区别,要牵涉到C# ...

  7. C#中const和readonly的区别

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

  8. c# const与readonly 关键字的比较

    C#中,const 与readonly是两个比较有用的关键字.const 与 readonly 定义的数据成员在初始化都不能再改变. 比如定义了 public class MathUtitlity { ...

  9. C# const与readonly的用法和区别解析(转)

    总结一下const和readonly: 1.const和readonly的值一旦初始化则都不再可以改写: 2.const只能在声明时初始化:readonly既可以在声明时初始化也可以在构造器中初始化: ...

最新文章

  1. 全球及中国N95级医用防护口罩市场销售规模与产量需求预测报告2022版
  2. 为什么我的理论和实践之间的差距相对较大
  3. 提权学习之旅——基础篇
  4. cookie 和 token 都存放在 header 中,为什么不会劫持 token?____token和cookie的区别
  5. reflectasm --反射工具
  6. java22:API-Object-String
  7. webservers ajax,jQuery AJax调用asp.net webservers的实现代码
  8. 面试|2021 菜鸟金三银四铜五 Android 被锤历程出炉...
  9. 超图软件 linux gis软件,超图(GIS)软件详细功能介绍.doc
  10. Ubuntu下,远程访问服务器,路径只显示最后打开的文件夹问题
  11. 计算机毕业设计(附源码)python在线答题系统
  12. DBeaver21.1.5如何迁移已有数据库连接
  13. ajax 传数据视频,Django知识整理四(choices参数,MTV与MVC模型,ajax介绍,ajax传json文件,ajax传文件,contentType前后端传输数据编码格式)...
  14. 盯盯拍罗勇:公司就是我最好的产品
  15. 学云计算比较好的几个论坛
  16. CSP-J2022入门组二轮补赛试题(山东)T2:宴会
  17. 【基础框架-SSM】Maven_进阶
  18. Django教程 —— 初步完善图书管理系统
  19. an tu tu html5 test,法语TEF基础阶段测试题和答案[下]
  20. Unity Pro 2018 for Mac(游戏开发工具)

热门文章

  1. Class.forName解析以及使用
  2. 500 OOPS:cannot change directory:/root 问题
  3. rsync+inotify的实现
  4. proxy负载均衡、读写分离
  5. Linux下Sniffer程序的实现
  6. Struts2 学习笔记 — 第一个struts2项目
  7. iOS的那个漏洞并不只是影响苹果设备CVE-2017-6975 Google称影响了所有使用Broadcom Wi-Fi SoC的设备...
  8. 【.net 深呼吸】在运行阶段修改应用配置文件
  9. HDU5709 : Claris Loves Painting
  10. 牛腩新闻发布系统(2)使用存储过程查询表