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

C#中的const和readonly關(guān)鍵字詳解

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

const和readonly經(jīng)常被用來(lái)修飾類(lèi)的字段,兩者有何異同呢?

const

1、聲明const類(lèi)型變量一定要賦初值嗎?

一定要賦初值

public class Student
{
    public const int age;
}

生成的時(shí)候,會(huì)報(bào)如下錯(cuò):

正確的應(yīng)該這樣寫(xiě):

public class Student
{
    public const int age = 18;
}

2、聲明const類(lèi)型變量可以用static修飾嗎?

不可以

public class Student
{
    public static const int age = 18;
}

生成的時(shí)候,會(huì)報(bào)如下錯(cuò):

正確的應(yīng)該這樣寫(xiě):

public class Student
{
    public const int age = 18;
}

因?yàn)閏onst默認(rèn)是static。

3、運(yùn)行時(shí)變量可以賦值給const類(lèi)型變量嗎?

不可以

    public class Student
    {
        public const int age = 18;

        public Student(int a)
        {
            age = a + 1;
        }
    }

生成的時(shí)候,會(huì)報(bào)如下錯(cuò):

const類(lèi)型變量是編譯期變量,無(wú)法把運(yùn)行時(shí)變量賦值給編譯期變量。

4、const可以修飾引用類(lèi)型變量嗎?

可以,但只能給引用類(lèi)型變量賦null值。

    public class Student
    {
        public const Teacher teacher = new Teacher();
    }

    public class Teacher
    {        
    }

生成的時(shí)候,會(huì)報(bào)如下錯(cuò):

正確的應(yīng)該這樣寫(xiě):

    public class Student
    {
        public const Teacher teacher = null;
    }

    public class Teacher
    {        
    }

readonly

1、聲明readonly類(lèi)型變量一定要賦初值嗎?

不一定,既可以賦初值,也可以不賦初值。

以下不賦初值的寫(xiě)法正確:

    public class Student
    {
        public readonly int age;
    }

以下賦初值的寫(xiě)法也對(duì):

    public class Student
    {
        public readonly int age = 18;
    }

2、運(yùn)行時(shí)變量可以賦值給readonly類(lèi)型變量嗎?  

可以

以下在構(gòu)造函數(shù)中給readonly類(lèi)型變量賦值是可以的:

    public class Student
    {
        public readonly int age = 18;

        public Student(int a)
        {
            age = a;
        }
    }

3、聲明readonly類(lèi)型變量可以用static修飾嗎?  

可以的

以下寫(xiě)法正確:

    public class Student
    {
        public static readonly int age = 18;
    }

總結(jié)

const修飾符:

  • 用const修飾的變量是編譯期變量
  • 不能把運(yùn)行時(shí)變量賦值給const修飾的變量
  • const修飾的變量在聲明時(shí)要賦初值
  • const修飾的變量不能在前面加static修飾
  • cosnt也可以修飾引用類(lèi)型變量,但一定要給引用類(lèi)型變量賦null初值

readonly修飾符:   

  • 用readonly修飾的變量是運(yùn)行時(shí)變量
  • 可以把運(yùn)行時(shí)變量賦值給readonly修飾的變量
  • readonly修飾的變量在聲明時(shí),既可以賦初值,也可以不賦初值
  • readonly修飾的變量可以在前面加static修飾符

到此這篇關(guān)于C#關(guān)鍵字const和readonly的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C# 使用modbus 讀取PLC 寄存器地址的方法

    C# 使用modbus 讀取PLC 寄存器地址的方法

    今天通過(guò)本文給大家介紹C# 使用modbus 讀取PLC 寄存器地址的方法,使用的組件Nmodbus,文中通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-10-10
  • C#的并發(fā)機(jī)制優(yōu)秀在哪你知道么

    C#的并發(fā)機(jī)制優(yōu)秀在哪你知道么

    這篇文章主要為大家詳細(xì)介紹了C#的并發(fā)機(jī)制,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02
  • C#通過(guò)實(shí)現(xiàn)winmm枚舉音頻設(shè)備

    C#通過(guò)實(shí)現(xiàn)winmm枚舉音頻設(shè)備

    使用C#做音頻錄制時(shí)需要獲取音頻設(shè)備信息,其中比較簡(jiǎn)單的就是使用winmm,所以本文就為大家介紹一下C#如何通過(guò)實(shí)現(xiàn)winmm枚舉音頻設(shè)備,需要的可以參考下
    2023-10-10
  • C#預(yù)處理指令之#line,#pragma warning 詳細(xì)解析

    C#預(yù)處理指令之#line,#pragma warning 詳細(xì)解析

    #line 指令可能由生成過(guò)程中的自動(dòng)中間步驟使用。例如,如果行從原始的源代碼文件中移除,但是您仍希望編譯器基于文件中的原始行號(hào)生成輸出,則可以移除行,然后用 #line 模擬原始行號(hào)
    2014-01-01
  • C#如何正確實(shí)現(xiàn)一個(gè)自定義異常Exception

    C#如何正確實(shí)現(xiàn)一個(gè)自定義異常Exception

    這篇文章主要為大家詳細(xì)介紹了C#如何正確實(shí)現(xiàn)一個(gè)自定義異常Exception,文中的示例代碼簡(jiǎn)潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-09-09
  • c# Process.Start()找不到系統(tǒng)文件的解決方法

    c# Process.Start()找不到系統(tǒng)文件的解決方法

    vs1027在X64應(yīng)用程序下執(zhí)行process.start()時(shí),OK;但是在X86應(yīng)用程序下執(zhí)行process.start(),報(bào)錯(cuò):找不到系統(tǒng)文件,本文就詳細(xì)的介紹一下解決方法,感興趣的可以了解一下
    2023-09-09
  • 深入分析c# 封裝和訪(fǎng)問(wèn)修飾符

    深入分析c# 封裝和訪(fǎng)問(wèn)修飾符

    這篇文章主要介紹了c# 封裝和訪(fǎng)問(wèn)修飾符的相關(guān)資料,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • C#基于Modbus三種CRC16校驗(yàn)方法的性能對(duì)比

    C#基于Modbus三種CRC16校驗(yàn)方法的性能對(duì)比

    這篇文章主要介紹了C#基于Modbus三種CRC16校驗(yàn)方法的性能對(duì)比,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • user32.dll 函數(shù)說(shuō)明小結(jié)

    user32.dll 函數(shù)說(shuō)明小結(jié)

    這篇文章主要介紹了user32.dll 函數(shù)說(shuō)明,需要的朋友可以參考下
    2018-06-06
  • C#開(kāi)發(fā)教程之ftp操作方法整理

    C#開(kāi)發(fā)教程之ftp操作方法整理

    這篇文章主要介紹了C#開(kāi)發(fā)教程之ftp操作方法整理的相關(guān)資料,需要的朋友可以參考下
    2016-07-07

最新評(píng)論

阆中市| 博湖县| 仁化县| 康乐县| 洞口县| 积石山| 长垣县| 从化市| 临西县| 武宁县| 定日县| 海林市| 云安县| 同心县| 卓资县| 鄢陵县| 逊克县| 临猗县| 西藏| 托里县| 景泰县| 灵石县| 宁河县| 托克逊县| 抚宁县| 玉屏| 武威市| 红桥区| 堆龙德庆县| 太仓市| 天台县| 酉阳| 奉新县| 高尔夫| 郸城县| 洪洞县| 连平县| 龙胜| 嘉义县| 阿拉善右旗| 平谷区|