C#编程自学之数据类型和变量一

2019-12-26 13:33:36王振洲

回顾下常量在声明时必须初始化赋值,那么如果我想在运行的时候才赋值怎么办?那么不用怕C#为我们提供了只读类型关键字为:readonly ,只读类型跟常量类似也是赋值后就不可以改变,但与常量不同的是它不是强制静态的,也就是只读类型是对象级别来访问的。

只读类型定义方式:[readonly 数据类型 变量名]

那么如何让他成为静态的? 很简单在前面我们已经介绍过静态的关键字static

静态只读类型定义方式:[static readonly 数据类型 变量名]

代码:

 

 
  1. using System;    
  2. namespace MyProgram   {  
  3. class MyClass   {  
  4. public readonly int a = 10; //定义只读变量a   public static readonly bool b = false; //定义静态只读变量b  
  5. }    
  6. class Program   {  
  7. static void Main(string[] args)   {  
  8. MyClass mc = new MyClass();   int a_ReadOnly_MC = mc.a; //只读变量是非静态的,由对象级别访问  
  9.   bool b_StaticReadOnly_MyClass = MyClass.b; //静态只读变量是类级别变量,有类名访问  
  10.   Console.WriteLine("a_ReadOnly_MC : {0}",a_ReadOnly_MC);  
  11. Console.WriteLine("b_StaticReadOnly_MyClass :{1}", b_StaticReadOnly_MyClass);    
  12. //任何对只读类型的修改都将引起编译错误   mc.a = 20;  
  13. MyClass.b = true;   }  
  14. }   }