• const 与 readonle 的异同


    C# 中,const 表示常量,readonly 表示只读域

    const 与 readonly 本质的区别是,const 是编译时常量readonly 是运行时常量

    编译时常量,就是在编译时就需要确定的;而运行时常量是在运行时确定的。
    • const 效率略高于 readonly。
    • const 只用于数字和字符串;readonly 用于任何类型。
    • const 用于全局变量、局部变量或 class 的 field;readonly 只用于 class 的 field,比如函数中就不能用 readonly,这就示上述示例中 readonly 为什么要放在 class 中的原因了。相关阅读:谈谈 const 与 readonly 的赋值
    • const 修饰的 class 的 field,为该类的所有实例共享;readonly 修饰的 class 的 field,为该类的某一个实例独享,除非我们加了 static。
    • 有些地方只能用 const。
    • 有些地方只能用 readonly。
    • 确定的值用 const,比如圆周率,再比如设计的系统中用 1 表示 OK。
    • 不确定但要求不允许更改的值用 readonly,这取决于实际应用,比如用户管理系统中不允许更改工号,那么工号就可以考虑用 readonly,因为在编译的时候,无法确定是哪个员工的工号。


    • const 必须在声明时赋值,即必须初始化;而 readonly 在声明时不赋值也不报错。
    • const 一旦赋值在任何地方都不能再修改其值;而 readonly 可以在类构造函数中再次修改
      最后请记住:const 表示常量,readonly 表示只读域。
  • 相关阅读:
    运算符
    数据运算
    login_code
    headless&unittest
    dict-test
    list_test
    string_test
    python1113
    堆排序
    java线程同步问题
  • 原文地址:https://www.cnblogs.com/weiyuxinghuacun/p/1970864.html
Copyright © 2020-2023  润新知