最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#中const,readonly和static關(guān)鍵字的用法介紹

 更新時間:2022年08月27日 08:39:34   作者:Darren?Ji  
這篇文章介紹了C#中const,readonly和static關(guān)鍵字的用法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

如果有一個值不太會變化,我們經(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變量變成了編譯期變量

    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(Test.rdValue);
            Console.ReadKey();
        }
    }
    public class Test
    {
        public static readonly int rdValue=100;
    }

以上,
只能在聲明static readonly變量rdValue的時候賦值。 
通過Test.rdValue來訪問static readonly變量。

總結(jié):const是靜態(tài)的、編譯期變量,只能在聲明變量的時候賦值;readonly是運行時變量,可以在聲明的時候或在構(gòu)造函數(shù)內(nèi)賦值。當(dāng)在readonly前加上關(guān)鍵字static,變成static readonly后,此時的static readonly變量就變成了靜態(tài)的、編譯期變量。

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

  • C#調(diào)用js庫的方法小結(jié)

    C#調(diào)用js庫的方法小結(jié)

    本文主要介紹了C#調(diào)用js庫的方法小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • C# WPF開源UI控件庫MaterialDesign介紹

    C# WPF開源UI控件庫MaterialDesign介紹

    這篇文章介紹了C# WPF開源UI控件庫MaterialDesign,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • C#實現(xiàn)條形碼識別的解決方案分享

    C#實現(xiàn)條形碼識別的解決方案分享

    主流的識別庫主要有ZXing.NET和ZBar,OpenCV 4.0后加入了QR碼檢測和解碼功能,所以本文主要和大家分享了使用ZBar進行條形碼識別的示例代碼,需要的可以參考一下
    2023-07-07
  • C#給多線程傳參的幾種方式小結(jié)

    C#給多線程傳參的幾種方式小結(jié)

    本文詳細探討了如何在C#中進行線程傳參,包括啟動線程時如何將參數(shù)傳遞給線程函數(shù),以及在多線程環(huán)境下正確使用參數(shù)的方法,對于理解和實踐C#線程編程具有重要意義,需要的朋友可以參考下
    2024-10-10
  • C#正則表達式實用大全(建議收藏!)

    C#正則表達式實用大全(建議收藏!)

    正則表達式是處理字符串的強大工具,擁有獨特的語法和獨立的處理引擎,下面這篇文章主要給大家介紹了關(guān)于C#正則表達式實用大全的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-03-03
  • C#實現(xiàn)關(guān)機重啟及注銷實例代碼

    C#實現(xiàn)關(guān)機重啟及注銷實例代碼

    這篇文章主要介紹了C#實現(xiàn)關(guān)機重啟及注銷實例代碼,適合新手參考學(xué)習(xí)之用,需要的朋友可以參考下
    2014-07-07
  • C#?wpf?通過HwndHost渲染視頻的實現(xiàn)方法

    C#?wpf?通過HwndHost渲染視頻的實現(xiàn)方法

    日常開發(fā)中,特別是音視頻開發(fā),需要在界面上渲染視頻,比如制作一個播放器、或者視頻編輯工具、以及視頻會議客戶端。通常拿到的是像素格式數(shù)據(jù),此時需要渲染到wpf窗口上就需要一定的方法,本文介紹一種通過hwnd渲染的方法,控件既能提供hwnd又能嵌入wpf窗口里
    2021-11-11
  • C#獲取USB事件API實例分析

    C#獲取USB事件API實例分析

    這篇文章主要介紹了C#獲取USB事件API,實例分析了C#操作USB事件的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-05-05
  • C# Websocket連接實現(xiàn)wss協(xié)議

    C# Websocket連接實現(xiàn)wss協(xié)議

    本文主要介紹了C# Websocket連接實現(xiàn)wss協(xié)議,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • C#身份證識別相關(guān)技術(shù)功能詳解

    C#身份證識別相關(guān)技術(shù)功能詳解

    這篇文章主要介紹了C#身份證識別相關(guān)技術(shù)詳解,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07

最新評論

宜宾县| 黔西| 商城县| 临湘市| 南郑县| 乌鲁木齐县| 青州市| 武功县| 临西县| 长岭县| 台前县| 怀宁县| 开鲁县| 青海省| 徐水县| 元氏县| 泰来县| 三河市| 绥中县| 广西| 历史| 盐亭县| 罗山县| 阿鲁科尔沁旗| 桃园市| 湟中县| 临颍县| 彩票| 孟村| 平远县| 海林市| 香格里拉县| 湟中县| 上虞市| 南投县| 漳平市| 张掖市| 沈丘县| 错那县| 长丰县| 肇庆市|