zoukankan      html  css  js  c++  java
  • 比较const ,readonly, stitac readonly

    比较const ,readonly, stitac readonly:

    1. constreadonly的值一旦初始化则都不再可以改写;
    2. const必须在声明时初始化;readonly既可以在声明时初始化也可以在构造器中初始化,因为见4;
    3. const隐含static,不可以再写static constreadonly则不默认static,如需要可以写static readonly
    4. const是编译期静态解析的常量(因此其表达式必须在编译时就可以求值);readonly则是运行期动态解析的常量,static readonly字面就是实例时赋值
    5. const既可用来修饰类中的成员,也可修饰函数体内的局部变量;readonly只可以用于修饰类中的成员。
    6. const访问必须以"Classname.VariableName"方式访问,而readonly访问必须以"InstanceName.VariableName"方式访问。

    代码说明问题

      const关键字

    class ConstantEx
        {
            public const int number =3;
        }
    
        class Program
        {
            static void Main(string[] args)
            {
                //如果这里使用 ConstantEx.number=10 会出错,在整个app内该值不可改变
                Console.WriteLine(ConstantEx.number);// 类名+常量访问
                Console.ReadLine();
            }
        }

      readonly关键字

    class ReadOnlyEx
        {
           //说明该值可以在运行时改变,即在实例化时改变该值
            public readonly int number = 10;
            public ReadOnlyEx()
            {
                number =20;
            }
            public ReadOnlyEx(bool IsDifferentInstance)
            {
                number = 100;
            }
        }
    
        class Program
        {
            static void Main(string[] args)
            {
                //必须实例化后访问
                ReadOnlyEx readOnlyInstance = new ReadOnlyEx();
                Console.WriteLine(readOnlyInstance.number);
    
                ReadOnlyEx differentInstance = new ReadOnlyEx(true);
                Console.WriteLine(differentInstance.number);
    
                Console.ReadLine();
            }
        }
    劳神费力的,点歌赞打赏打赏
  • 相关阅读:
    LeetCode 260
    LeetCode 258
    LeetCode 237
    LeetCode 226
    LeetCode 203
    LeetCode 202
    codeforces 7D
    codefroces 7C
    codeforces 7B
    codeforces 6E (非原创)
  • 原文地址:https://www.cnblogs.com/zfcflower/p/3322549.html
Copyright © 2011-2022 走看看