回忆基础:常量数据和只读数据 并沉淀

常量字段: 

   1.由const修饰的为常量数据。

   2.常量数据必须在定义是给出初始的值。

   3.常量数据默认是静态的。

    例如:public const double PI=3.14;

    之后就不能修改了。如果出现 PI=222;那就会报编译出错。

只读字段:

   1.由readonly修饰的。

   2.不一定要在定义的时候就给出初始值,可以在构造函数在中给出。也只有这两种情况可以给出readonly的初始值。

   3.只读字段并不是默认静态的。

   例如:可以  public readonly double PI=3.14; 

           也可以 public readonly double PI;

                     public mathPI(){

                          PI = 3.14;

                      }

    就只有这两种情况,其他地方都不能赋值。例如:

   public void mathPI(){ PI = 3.14;} 这样就会报编译错误。

   刚说了只读字段不是默认静态的,所以如果要从类级别公开使用只读字段,那么要显式加上static关键字。

  例如:public static readonly double PI=3.14;

  这样的话就跟之前常量字段很像了。当然如果要先定义,然后到构造函数中去赋初值的话,那么就必须使用静态构造函数了。

  例如:static math(){

           PI=3.14159;

         }

好了。回忆回忆。可以沉淀沉淀。

原文地址:https://www.cnblogs.com/UpThinking/p/1630982.html