国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

const與readonly常量

2019-11-14 13:44:07
字體:
來源:轉載
供稿:網友

                                            const與readonly常量

      const與readonly都是用來定義常量,但是它們有什么區別呢?

      下面我們來簡要的說明一下:

      const修飾的常量是編譯時常量,如:public const String PI=3.1415;什么是編譯時常量,通俗來講就是指你在聲明時,必須要進行賦值(也就是初始化),如果不賦值,編譯時會出現說“常量字段要求提供一個值”的異常。

      readonly修飾的是運行時常量,可以在聲明中賦值,也可以在構造函數中賦值(注意只能在這兩個地方賦值)。

      http://m.survivalescaperooms.com/royenhome/archive/2010/05/22/1741592.html(這里轉載這篇文章),文章中講的很透徹,但是還是想用自己的話,來更加通俗的描述一遍。

      C#語言中有兩種不同的常量類型,也就是靜態常量和動態常量,靜態常量是指編譯器先對常量進行解析,并將常量的值替換成初始化的那個值(也就是指編譯器會傳播常量)。例如下面的代碼:

class PRogram {			public static void Main(string[] args) {			Console.WriteLine("A is {0},B is {1} ", P.A,P. B);			Console.ReadKey();		}	}	class P {		public static const int A = B * 10;		public static const int B = 10;	}

控制臺中輸出的是A is 100,B is 10,也就是正是上面講到的先對常量進行解析,然后替換初始化的值。

 

動態常量是指常量的值在運行的那一個刻才獲得,程序在編譯期間并未對常量進行解析,所以開始執行時都是默認值,如果是int類型的就是默認為0.如下面的代碼:

class Program {			public static void Main(string[] args) {			Console.WriteLine("A is {0},B is {1} ", P.A,P. B);			Console.ReadKey();		}	}	class P {		public static readonly int A = B * 10;		public static readonly int B = 10;	}

控制臺中輸出的是A is 0,B is 10.

 

const與readonly有什么相同的作用呢?

那就是確保兩者修飾的常量字段或者是常量局部變量,在后續的項目中不會由于編碼操作失誤而修改一些固定的值。當然如果是一些常常修改的值就不要用const或者是readonly來修飾了。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汉沽区| 琼结县| 天门市| 阜宁县| 平安县| 威信县| 沛县| 手机| 永宁县| 清水河县| 邵阳市| 武义县| 新营市| 南宫市| 东城区| 镇巴县| 连城县| 巴马| 慈溪市| 太保市| 承德市| 炎陵县| 满洲里市| 海丰县| 甘谷县| 娄底市| 兴山县| 上林县| 来凤县| 中江县| 黎平县| 碌曲县| 九龙坡区| 威信县| 山东| 华容县| 监利县| 土默特左旗| 彰化县| 镇沅| 和静县|