亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#中的const和readonly關鍵字詳解

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

const和readonly經常被用來修飾類的字段,兩者有何異同呢?

const

1、聲明const類型變量一定要賦初值嗎?

一定要賦初值

public class Student
{
    public const int age;
}

生成的時候,會報如下錯:

正確的應該這樣寫:

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

2、聲明const類型變量可以用static修飾嗎?

不可以

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

生成的時候,會報如下錯:

正確的應該這樣寫:

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

因為const默認是static。

3、運行時變量可以賦值給const類型變量嗎?

不可以

    public class Student
    {
        public const int age = 18;

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

生成的時候,會報如下錯:

const類型變量是編譯期變量,無法把運行時變量賦值給編譯期變量。

4、const可以修飾引用類型變量嗎?

可以,但只能給引用類型變量賦null值。

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

    public class Teacher
    {        
    }

生成的時候,會報如下錯:

正確的應該這樣寫:

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

    public class Teacher
    {        
    }

readonly

1、聲明readonly類型變量一定要賦初值嗎?

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

以下不賦初值的寫法正確:

    public class Student
    {
        public readonly int age;
    }

以下賦初值的寫法也對:

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

2、運行時變量可以賦值給readonly類型變量嗎?  

可以

以下在構造函數中給readonly類型變量賦值是可以的:

    public class Student
    {
        public readonly int age = 18;

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

3、聲明readonly類型變量可以用static修飾嗎?  

可以的

以下寫法正確:

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

總結

const修飾符:

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

readonly修飾符:   

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

到此這篇關于C#關鍵字const和readonly的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 深入多線程之:Wait與Pulse的使用詳解

    深入多線程之:Wait與Pulse的使用詳解

    本篇文章是對Wait與Pulse的使用進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C# Winform實現石頭剪刀布游戲

    C# Winform實現石頭剪刀布游戲

    這篇文章主要為大家詳細介紹了Winform實現石頭剪刀布游戲,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • DevExpress實現TreeList向上遞歸獲取公共父節(jié)點的方法

    DevExpress實現TreeList向上遞歸獲取公共父節(jié)點的方法

    這篇文章主要介紹了DevExpress實現TreeList向上遞歸獲取公共父節(jié)點的方法,需要的朋友可以參考下
    2014-08-08
  • 完成OSS.Http底層HttpClient重構封裝 支持標準庫

    完成OSS.Http底層HttpClient重構封裝 支持標準庫

    OSS.Http項目對于.Net Standard標準庫的支持已經遷移完畢,OSS開源系列兩個最底層的類庫已經具備跨運行時支持的能力。本篇文章主要包含 1. HttpClient的介紹,2. 重構的思路, 3. 容易遇到的問題。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • C#操作JSON(序列化與反序列化)的方法詳解

    C#操作JSON(序列化與反序列化)的方法詳解

    .net?core提供了Json處理模塊,在命名空間System.Text.Json中,本文將通過頂級語句,對C#的Json功能進行講解,感興趣的小伙伴可以了解一下
    2023-05-05
  • C#實現給PDF文檔設置過期時間

    C#實現給PDF文檔設置過期時間

    我們可以給一些重要文檔或者臨時文件設置過期時間和過期信息提示來提醒讀者或管理者文檔的時效性,并及時對文檔進行調整、更新等。下面本文將介紹如何通過C#來給PDF文檔設置過期時間的方法。需要的可以參考一下
    2022-01-01
  • WinForm中實現picturebox自適應圖片大小的方法

    WinForm中實現picturebox自適應圖片大小的方法

    這篇文章主要介紹了WinForm中實現picturebox自適應圖片大小的方法,涉及pictureBox控件相關屬性設置技巧,需要的朋友可以參考下
    2017-05-05
  • 理解C#中的事件

    理解C#中的事件

    這篇文章主要介紹了理解C#中的事件,本文講解了使用委托中的問題、事件的出現、深入理解事件、C#屬性的概念、事件代碼的轉換等內容,需要的朋友可以參考下
    2015-02-02
  • C#根據年月日計算星期幾的函數小例子

    C#根據年月日計算星期幾的函數小例子

    這篇文章介紹了C#根據年月日計算星期幾的函數小例子,有需要的朋友可以參考一下
    2013-07-07
  • C#實現char字符數組與字符串相互轉換的方法

    C#實現char字符數組與字符串相互轉換的方法

    這篇文章主要介紹了C#實現char字符數組與字符串相互轉換的方法,結合實例形式簡單分析了C#字符數組轉字符串及字符串轉字符數組的具體實現技巧,需要的朋友可以參考下
    2017-02-02

最新評論