1. the similar feature 相似性
   grammar:
    public const int x=100;
    public readonly int x;    
    const variable and readonly variable can not be modified once they are initialized in run-time. However,the main differences between them is the time to be initialized!
const变量和readonly变量的值一旦被初始化其值在运行时就不能再改变。但是,他们之间的区别在于他们被初始化的时机是不一样的。

2 the differences
    const variable must be initialized when it's be declared, because  its value is set in compile-time before the respective object is constructed. However, readonly can be initialized dynamically. that is to say, its value can be set via class constructor or vairable initiazer(no other feasible ways).
    const常量必须在其声明时被初始化,因为其值在编译而相应对象构造之前就被设定。但是 ,readonly可以被动态设定,其既可以在初始化时设定,也可以在构造函数中设定(其他方式均不可)。
   e.g
    public class A
    {
        public const m_x=100;

//public const m_x=DataTime.Now.Tricks;
        //error!DataTime.Now.Tricks can not give a exact value for const variable in compile-time.
        public readonly long  m_y=DataTime.Now.Tricks;
        //it can be initialized via viriable initiazer

public readonly int  m_z;
        public A()
        {
        m_z=DataTime.Now.Tricks;
        //it also can be initialized via constructor;
        }
    }

转载于:https://www.cnblogs.com/Winston/archive/2008/04/24/1169427.html

what's the differences between readonly const in C# 在C#中readonly和const的区别相关推荐

  1. 类中static、const、readonly、partial修饰符

    static 修饰类成员: static在C#中的用法与C++类似,当声明一个类成员为静态时,意味着无论有多少个类的对象被创建,只会有一个静态成员的副本,static变量可在成员函数或类的定义外部进行 ...

  2. TypeScript中的“as const”是什么意思?类型断言!

    as const 也是类型断言的一种 这被称为const断言.const断言告诉编译器为表达式推断出它能推断出的最窄或最特定的类型.如果不使用它,编译器将使用其默认类型推断行为,这可能会导致更广泛或更 ...

  3. struts2 标签中read-only=true 和disabled的区别

    struts2 标签中read-only=true 和disabled的区别 都不能对内容进行修改,区别在readonly提交的时候还会有该字段,但是disabled会在提交的时候忽略该字段 转载于: ...

  4. 容器的访问元素的成员函数(front,back,下标和at)返回的都是引用,如果顺序容器是const的对象,那么返回的是const的引用

    顺序容器的访问元素的成员函数(front,back,下标和at)返回的都是引用,如果顺序容器是const的对象,那么返回的是const的引用,下面有个例子说明问题: #include <iost ...

  5. C/C++中Static和Const的作用

    C/C++中Static和Const的作用     [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/53118850 一.c ...

  6. 当心在Lib中定义非const全局变量

    当心在Lib中定义非const全局变量 Posted on 2011-08-15 16:33 单鱼游弋 阅读(306) 评论(0) 编辑 收藏 一般我们在全局作用域定义全局变量来进行模块间(函数之间. ...

  7. const 常量_条款03:尽可能使用const

    const 允许你指定一个语义约束(也就是指定一个"不该被改动"的对象),而编译器会强制实施这项约束. 1.const指针 如果关键字const出现在星号左边,表示被指物是常量:如 ...

  8. [html] 谈谈你对input元素中readonly和disabled属性的理解

    [html] 谈谈你对input元素中readonly和disabled属性的理解 相同点:都会使文本框变成只读,不可编辑.不同点:1.disabled属性在将input文本框变成只读不可编辑的同时, ...

  9. const在C与C++中的区别

    1.const用于C –> 运行时常量 a. 修饰变量 修饰变量为常变量(只读变量) const int i = 10; 此时i还是一个变量,不信你可以把它用来当作定义一个数组时的数组长度,一定 ...

  10. C++中static与const成员

    一.static成员 (1)static数据成员 static数据成员的创建是为了对象之间的共享和沟通,具有以下特点: 1.1 static数据成员属于类,只占一份空间(不像普通数据成员每个对象中都有 ...

最新文章

  1. python内置函数源码_python如何查看内置函数源码
  2. python获取用户输入的数字_Python 将用户输入的数字 提取整数谢谢
  3. Redis系列二:reids介绍
  4. 谈谈高并发系统的限流
  5. Retrofit2.5是如何解析在接口类中定义的请求方法?
  6. java版b2b2c社交电商spring cloud分布式微服务(二) 服务消费者(rest+ribbon)
  7. PyTorch模型部署:pth转onnx跨框架部署详解+代码
  8. Docker安装elasticsearch-head监控ES步骤 - gmijie的专栏 - CSDN博客
  9. ctx->cvdl->cuvidGetDecoderCaps(ctx->caps8) failed -> CUDA_ERROR_DEINITIALIZED: driver shutting down
  10. 软考中级数据库系统工程师备考详细资料
  11. matlab里wblrnd函数,matlab随机函数
  12. Quixel bridge桥接设置
  13. PostgreSQL+PostGIS下载和离线安装
  14. 如何给运行中的docker容器增加映射端口
  15. 精彩回顾|展会圆满收官,落幕不散场,期待与您的再次相遇,下一站上海!
  16. 最新公司级 OKRs 案例
  17. Day 96/100 ‘X-Frame-Options‘ to ‘sameorigin‘后如何嵌入iframe
  18. centos8以后版本突然不能上网解决
  19. BZOJ3590【状压DP】
  20. 基于SOCK_RAW的泛洪攻击

热门文章

  1. python可以写前端吗_哪种ide能同时写java和前端代码?
  2. 【渝粤教育】国家开放大学2018年春季 0001-21T入学教育与终身学习指引 参考试题
  3. 【渝粤教育】21秋期末考试网络市场调查与预测10143k2
  4. 【渝粤教育】电大中专电商运营实操 (2)作业 题库
  5. fatal error C1010
  6. endnote导入参考文献及国标(Chinese standard)
  7. jQuery拖动调整表格列宽度-resizableColumns
  8. 预处理、const、static与sizeof-static全局变量与普通的全局变量有什么区别
  9. 通过elasticsearch对日志进行搜索热词统计
  10. 作业六 栈的使用和界面编程探索