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

C#語言中的修飾符匯總

 更新時間:2015年10月15日 14:46:14   投稿:lijiao  
本文主要介紹的是C#語言中的修飾符,主要從四方面介紹,希望對大家有幫助,一起來看。

修飾符是用于限定類型以及類型成員的申明的一種符號。 下面主要從C#中的訪問修飾符,作用于類和結(jié)構(gòu)的修飾符,用在方法或變量的修飾符和特殊作用的修飾符四種,來給大家介紹。

1. 訪問修飾符

指定聲明的類型和類型成員的可訪問性。

(1) public:是類型和類型成員的訪問修飾符。公共訪問是允許的最高訪問級別。對訪問公共成員沒有限制。

(2) private:是一個成員訪問修飾符。私有訪問是允許的最低訪問級別。私有成員只有在聲明它們的類和結(jié) 構(gòu)體中才是可訪問的。

(3) internal:是類型和類型成員的訪問修飾符。只有在同一程序集的文件中,內(nèi)部類型或成員才是可訪問的。

(4) protected:是一個成員訪問修飾符。受保護成員在它的類中可訪問并且可由派生類訪問。

2. 可以作用于類和結(jié)構(gòu)的修飾符

(1) abstract:指示某個類只能是其他類的基類。

可以和類、方法、屬性、索引器及事件一起使用。在類聲明中使用 abstract修飾符以指示某個類只能是其他類的基類。標(biāo)記為抽象或包含在抽象類中的成員必須通過從抽象類派生的類來實現(xiàn)。

(2) sealed:指定類不能被繼承。

可以應(yīng)用于類、實例方法和屬性。密封類不能被繼承。密封方法會重寫基類中的方法,但其本身不能在任何派生類中進一步重寫。當(dāng)應(yīng)用于方法或?qū)傩詴r,sealed修飾符必須始終與override一起使用。

在類聲明中使用 sealed修飾符可防止繼承此類

(3) static:聲明屬于類型本身而不是屬于特定對象的成員。

聲明屬于類型本身而不是屬于特定對象的靜態(tài)成員??捎糜陬悺⒆侄?、方法、屬性、運算符、事件和構(gòu)造函數(shù),但不能用于索引器、析構(gòu)函數(shù)或類以外的類型。

(4) partial:在整個同一程序集中定義分部類和結(jié)構(gòu)。

分部類型定義允許將類、結(jié)構(gòu)或接口的定義拆分到多個文件中。

3. 只能用在方法或變量的修飾符

(1) const:指定無法修改字段或局部變量的值。

用于修改字段或局部變量的聲明。它指定字段或局部變量的值是常數(shù),不能被修改。

(2) new:從基類成員隱藏繼承的成員。

在用作修飾符時,new關(guān)鍵字可以顯式隱藏從基類繼承的成員。隱藏繼承的成員意味著該成 員的派生版本將替換基類版本。在不使用 new修飾符的情況下隱藏成員是允許的,但會生成警告。使用 new顯式隱藏成員會取消此警告,并記錄代之以派生版本這一事實。

若要隱藏繼承的成員,請使用相同名稱在派生類中聲明該成員,并使用 new修飾符修飾該成員。

對同一成員同時使用 new和override是錯誤的,因為這兩個修飾符在含義上相互排斥。使用 new會用同樣的名稱創(chuàng)建一個新成員并使原始成員變?yōu)殡[藏的,而 override則擴展繼承成員的實現(xiàn)。

(3) virtual:在派生類中聲明其實現(xiàn)可由重寫成員更改的方法或訪問器。

用于修飾方法、屬性、索引器或事件聲明,并且允許在派生類中重寫這些對象。

調(diào)用虛方法時,將為重寫成員檢查該對象的運行時類型。將調(diào)用大部分派生類中的該重寫成員,如果沒有派生類重寫該成員,則它可能是原始成員。

默認情況下,方法是非虛擬的。不能重寫非虛方法。

virtual修飾符不能與 static、abstract和 override修飾符一起使用。

除了聲明和調(diào)用語法不同外,虛擬屬性的行為與抽象方法一樣。

(4) override:提供從基類繼承的虛擬成員的新實現(xiàn)。

要擴展或修改繼承的方法、屬性、索引器或事件的抽象實現(xiàn)或虛實現(xiàn),必須使用 override修飾符。

(5) readonly:聲明一個字段,該字段只能賦值為該聲明的一部分或者在同一個類的構(gòu)造函數(shù)中。

是可以在字段上使用的修飾符。當(dāng)字段聲明包括 readonly修飾符時,該聲明引入的字段賦值只能作為聲明的一部分出現(xiàn),或者出現(xiàn)在同一類的構(gòu)造函數(shù)中。在此示例中,字段year的值無法在ChangeYear方法中更改,即使在類構(gòu)造函數(shù)中給它賦了值。

4. 特殊作用的修飾符

(1) event:聲明事件。

類和結(jié)構(gòu)使用事件將出現(xiàn)的可能影響對象狀態(tài)的事件通知給對象。

(2) extern:指示在外部實現(xiàn)方法。

用于聲明在外部實現(xiàn)的方法。extern修飾符的常見用法是在使用 Interop 服務(wù) 調(diào)入非托管代碼時與DllImport屬性一起使用;在這種情況下,該方法還必須聲明為 static。

extern關(guān)鍵字還可以定義外部程序集別名,使得可以從單個程序集中引用同一組件的不同版本。

將 abstract和 extern修飾符一起使用來修改同一成員是錯誤的。使用 extern修飾符意味著方法在 C# 代碼的外部實現(xiàn),而使用 abstract修飾符意味著在類中未提供方法實現(xiàn)。

(3) unsafe:聲明不安全的上下文。該上下文是任何涉及指針的操作所必需的。

(4) volatile:指示字段可由操作系統(tǒng)、硬件或并發(fā)執(zhí)行線程等在程序中進行修改。

volatile關(guān)鍵字表示字段可能被多個并發(fā)執(zhí)行線程修改。聲明為 volatile的字段不受編譯器優(yōu)化(假定由單個線程訪問)的限制。這樣可以確保該字段在任何時間呈現(xiàn)的都是最新的值。

volatile修飾符通常用于由多個線程訪問而不使用 lock 語句(C# 參考)語句對訪問進行序列化的字段。

volatile關(guān)鍵字可應(yīng)用于以下類型:

(1)引用類型。

(2)指針類型(在不安全的上下文中)。

(3)整型,如 sbyte、byte、short、ushort、int、uint、char、float 和 bool。

(4)具有整數(shù)基類型的枚舉類型。

(5)已知為引用類型的泛型類型參數(shù)。

(6)IntPtr 和 UIntPtr。

所涉及的類型必須是類或結(jié)構(gòu)的字段。不能將局部變量聲明為 volatile。

以上就是關(guān)于C#修飾符的所有內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • C# 遞歸查找樹狀目錄實現(xiàn)方法

    C# 遞歸查找樹狀目錄實現(xiàn)方法

    這篇文章主要介紹了C# 遞歸查找樹狀目錄實現(xiàn)方法,需要的朋友可以參考下
    2014-02-02
  • 淺析C#中文件路徑的操作

    淺析C#中文件路徑的操作

    在.NET類庫中,有一個專門的功能類System.IO.Path,對表示文件或在目錄路徑的string進行操作。本文介紹下利用Path來對文件路徑進行的一些經(jīng)常用操作。感興趣的朋友可以看下
    2016-12-12
  • Unity實現(xiàn)QQ列表折疊菜單

    Unity實現(xiàn)QQ列表折疊菜單

    這篇文章主要為大家詳細介紹了Unity實現(xiàn)QQ列表折疊菜單,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • C#控制臺下測試多線程的方法

    C#控制臺下測試多線程的方法

    這篇文章主要介紹了C#控制臺下測試多線程的方法,涉及C#操作多線程的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • 詳談C++引用&和指針在作為形參時的區(qū)別

    詳談C++引用&和指針在作為形參時的區(qū)別

    下面小編就為大家?guī)硪黄斦凜++引用&和指針在作為形參時的區(qū)別。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • C#實現(xiàn)自定義windows系統(tǒng)日志的方法

    C#實現(xiàn)自定義windows系統(tǒng)日志的方法

    這篇文章主要介紹了C#實現(xiàn)自定義windows系統(tǒng)日志的方法,涉及C#針對windows系統(tǒng)日志的創(chuàng)建、讀寫及刪除技巧,非常具有實用價值,需要的朋友可以參考下
    2015-08-08
  • unity實現(xiàn)無限列表功能

    unity實現(xiàn)無限列表功能

    這篇文章主要介紹了unity實現(xiàn)無限列表功能,水平方向,豎直方向滑動,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • 淺談Visual C#進行圖像處理(讀取、保存以及對像素的訪問)

    淺談Visual C#進行圖像處理(讀取、保存以及對像素的訪問)

    本文主要介紹利用C#對圖像進行讀取、保存以及對像素的訪問等操作,介紹的比較簡單,希望對初學(xué)者有所幫助。
    2016-04-04
  • Unity shader實現(xiàn)消融效果

    Unity shader實現(xiàn)消融效果

    這篇文章主要為大家詳細介紹了Unity shader實現(xiàn)消融效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • 用C#操縱IIS(代碼)

    用C#操縱IIS(代碼)

    用C#操縱IIS(代碼)...
    2007-03-03

最新評論

陈巴尔虎旗| 齐齐哈尔市| 资兴市| 巴楚县| 昌宁县| 饶阳县| 龙里县| 临澧县| 余江县| 海阳市| 绵阳市| 松阳县| 兴国县| 余江县| 长治市| 竹北市| 阿图什市| 沈丘县| 秦安县| 温泉县| 油尖旺区| 河曲县| 霍州市| 古丈县| 潞城市| 成安县| 普洱| 中江县| 海原县| 雅江县| 碌曲县| 兴海县| 卓资县| 洞头县| 灵山县| 大同县| 阳山县| 盖州市| 和平区| 道真| 仁化县|