zoukankan      html  css  js  c++  java
  • const和readonly有什么区别?

    程序员一直在机械的写程序,对于很多问题,那脑子里有个大概的思路,但是并不能准确的解释出来,今天看书遇到了const和readonly的用法就把它记录下来,方便大家遇到时能够共同参考。

    大家都知道readonly是表示只读的。const用来表示不便常量。只读的意思就是不能进行写的操作;不变常量就是不能被修改,这两者有何区别呢?

    1,readonly和const都用来标识常量。

    2,初始化赋值不同。

    const是必须在声明的时候就赋值,例如:

    public class Demo
    {
      public const int colun1=10;    //声明正确
      public const int colun2;       //声明错误,没有赋值
      public Demo
      {
        colun2=10;
      }
    }

    readonly 字段可以在初始化的过程中赋值(声明或构造函数),在其它地方是不能赋值的,否则会报错

    public class Demo
    {
          public readonly int colun1=10;        //声明正确
          public readonly int colun2;
          public Demo
         {
            colun2=20;             //正确
         }
         protected void Load()
         {
            colun2=20;            //错误,无法对只读字段赋值(构造函数或变量初始值指定项除外)
         }
    }

    readonly是实例成员,所以不同的实例有不同的常量值,readonly更灵活。

    3,const字段是编译时常数,readonly是运行时常数。

  • 相关阅读:
    CMSIS_OS中osMailPut 和 osMessagePut 的问题
    网络:W5500抓包TCP segment of a reassembled PDU
    网络:W5500 UDP数据包格式注意事项
    笔记:把编译时间加入到目标文件
    笔记:git和码云
    笔记:git基本操作
    FreeRtos堆栈检测应用
    一个由自增运算符以及C语法顺序细节引起的bug
    高级文件操作
    linux 权限相关
  • 原文地址:https://www.cnblogs.com/zlzly/p/2586445.html
Copyright © 2011-2022 走看看