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

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

readonly與const

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

readonly與const

在C#中,readonly 與 const 都是定義常量,但不同之處在于:readonly 是運行時常量,而 const 是編譯時常量。

public const int intValue = 100;public void Test(){    Console.WriteLine(intValue*100);}

在上面的代碼中, intValue是一個int類型的常量并且用100來初始化它,即 intValue 就是100,編譯器會在編譯時用100來替換程序中的intValue。

class Test{    public readonly Object _readOnly;     public Test()    {        _readOnly=new Object();    //right    }    public void ChangeObject()    {        _readOnly=new Object();    //compliler error    }}

使用readonly將 _readOnly變量標記為只讀(常量),這里表示的是這個變量是常量,而不是指它所指向的對象是常量(看下面的代碼)。而且它不同于const在編譯時就已經確定了綁定對象,他是在運行時根據需求動態實現的,就如上面的代碼,_readOnly就是在構造函數內被初始化的,即可以通過構造函數來為_readOnly指定不同的初始值。而一旦這個值指定的了之后在運行過程中就不能再更改。

class Person{    public int Age{get;set;}}class Test{    PRivate readonly Person _readOnly;    private readonly int _intValue;    public Test()    {        _readOnly=new Person();        _intValue=100;    }    public Test(int age,int value)    {        _readOnly=new Person(){ Age=age;}        _intValue=value;    }    public void ChangeAge(int age)    {        _readOnly.Age=age;    }    public void ChangeValue(int value)    {        _intValue=value;    //comppiler error    }    public int GetAge()    {        return _readOnly.Age;    }    public int GetValue()    {        return _intValue;    }        public static void Main()    {        Test testOne=new Test();        Test testTwo=new Test(10,10);                  Console.WriteLine("testOne: "+testOne.GetAge()+" "+testOne.GetValue());        Console.WriteLine("testTwo: "+testTwo.GetAge()+" "+testTwo.GetValue());        testOne.ChangeAge(20);        testTwo.ChangeValue(20);        Console.WriteLine(testOne.GetAge());        Console.WriteLine(testTwo.GetValue());    }}

readonly 與 const 最大的區別在于readonly 是運行時綁定,而且可以定義對象常量,而 const 只能定義值類型(如int)的常量。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丹寨县| 县级市| 锡林郭勒盟| 南岸区| 安国市| 天门市| 林州市| 德令哈市| 济阳县| 海兴县| 垫江县| 盐城市| 河南省| 稷山县| 增城市| 石首市| 什邡市| 福贡县| 禹城市| 陵川县| 腾冲县| 广州市| 麻栗坡县| 玛沁县| 二手房| 正阳县| 曲水县| 崇礼县| 安吉县| 宜春市| 兴山县| 遂平县| 嘉荫县| 喀喇沁旗| 吉木乃县| 安宁市| 石柱| 阿拉善盟| 泰兴市| 柏乡县| 正蓝旗|