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

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

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

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

const

  • const默認(rèn)是靜態(tài)的,可以通過"類名.字段名"來訪問。
  • const變量只能在聲明的時(shí)候賦值,不能在構(gòu)造函數(shù)中為const類型變量賦值。
  • 一旦程序集被編譯,const變量會(huì)被寫進(jìn)程序集的IL代碼中。如果想修改const變量值,必須在修改值后再重新生成程序集。
  • const是編譯期變量
    public class Test
    {
        public const int defaultValue = 10;
        //這里報(bào)錯(cuò):因?yàn)椴荒茉跇?gòu)造函數(shù)內(nèi)為const變量賦值
        public Test()
        {
            defaultValue = 1000;
        }
    }

以上,
可以通過Test.defaultValue來獲取變量defaultValue的值。
在Test構(gòu)造中為defaultValue賦值會(huì)報(bào)錯(cuò),只能在聲明defaultValue的時(shí)候賦初值。

readonly

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

    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;
        }
        //這里報(bào)錯(cuò):因?yàn)橹荒茉诼暶髯兞炕驑?gòu)造函數(shù)內(nèi)對(duì)readonly變量賦值
        public int RDVaue
        {
            get { return rdValue; }
            set { rdValue = value; }
        }
    }

以上,
通過Test類的實(shí)例來獲取readonly變量值,test.rdValue。
在RDValue屬性中為readonly變量rdValue賦值會(huì)報(bào)錯(cuò)。

如果在readonly之前加上static關(guān)鍵字:

此時(shí)的readonly變量只能在聲明變量的時(shí)候賦值
此時(shí)的readonly變量可以通過"類名.字段名"來訪問
此時(shí)的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的時(shí)候賦值。 
通過Test.rdValue來訪問static readonly變量。

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

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

相關(guān)文章

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

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

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

    C# WPF開源UI控件庫(kù)MaterialDesign介紹

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

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

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

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

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

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

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

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

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

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

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

    C#獲取USB事件API實(shí)例分析

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

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

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

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

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

最新評(píng)論

贵港市| 张家口市| 元阳县| 临武县| 和政县| 云霄县| 诸暨市| 东安县| 巴里| 广丰县| 石城县| 崇礼县| 仪陇县| 镇沅| 蕲春县| 琼中| 沐川县| 壤塘县| 奇台县| 东城区| 东台市| 柳林县| 慈溪市| 赤峰市| 钟山县| 逊克县| 张北县| 马山县| 通榆县| 白河县| 巫山县| 墨竹工卡县| 黔江区| 江都市| 南城县| 扶余县| 合川市| 锡林郭勒盟| 龙里县| 调兵山市| 南郑县|