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

首頁 > 學院 > 開發(fā)設計 > 正文

如何使用C#關(guān)鍵字const,readonly,static

2019-11-17 02:58:16
字體:
供稿:網(wǎng)友

如何使用C#關(guān)鍵字const,readonly,static

如果有一個值不太會變化,我們經(jīng)常使用const和readonly,這2者有何不同呢?有時候,我們也會在readonly之前加上關(guān)鍵字static,這又意味著什么呢?

const

● const默認是靜態(tài)的,可以通過"類名.字段名"來訪問。● const變量只能在聲明的時候賦值,不能在構(gòu)造函數(shù)中為const類型變量賦值。● 一旦程序集被編譯,const變量會被寫進程序集的IL代碼中。如果想修改const變量值,必須在修改值后再重新生成程序集。● const是編譯期變量

    public class Test
    {
        public const int defaultValue = 10;
        //這里報錯:因為不能在構(gòu)造函數(shù)內(nèi)為const變量賦值
        public Test()
        {
            defaultValue = 1000;
        }
    }
以上,可以通過Test.defaultValue來獲取變量defaultValue的值。在Test構(gòu)造中為defaultValue賦值會報錯,只能在聲明defaultValue的時候賦初值。

readonly

● readonly默認是實例變量,只能通過"對象實例.字段名"來訪問。● readonly變量可以在聲明的時候或在構(gòu)造函數(shù)內(nèi)賦值。● 如果想改變readonly變量值,只需要在聲明變量或構(gòu)造函數(shù)內(nèi)修改,不需要重新生成程序集。● readonly是運行時變量

    class PRogram
    {
        static void Main(string[] args)
        {
            Test test = new Test();
            Console.WriteLine(test.rdValue);
            Console.ReadKey();
        }
    }
    public class Test
    {
        public readonly int rdValue;
        public Test()
        {
            this.rdValue = 100;
        }
        //這里報錯:因為只能在聲明變量或構(gòu)造函數(shù)內(nèi)對readonly變量賦值
        public int RDVaue
        {
            get { return rdValue; }
            set { rdValue = value; }
        }
    }

以上,通過Test類的實例來獲取readonly變量值,test.rdValue。在RDValue屬性中為readonly變量rdValue賦值會報錯。

如果在readonly之前加上static關(guān)鍵字:● 此時的readonly變量只能在聲明變量的時候賦值● 此時的readonly變量可以通過"類名.字段名"來訪問● 此時的readonly變量變成了編譯期變量


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 渭源县| 巴彦县| 手游| 永定县| 临猗县| 阆中市| 深圳市| 永胜县| 揭阳市| 偏关县| 湟源县| 临沧市| 登封市| 延庆县| 乐山市| 武冈市| 沂源县| 南陵县| 满洲里市| 辽宁省| 新田县| 本溪市| 沾化县| 聂拉木县| 青阳县| 潢川县| 弥勒县| 凭祥市| 论坛| 屏东县| 深州市| 涿鹿县| 江城| 黔西县| 沙洋县| 建湖县| 瑞金市| 高雄县| 舒兰市| 视频| 长春市|