參考鏈接:https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords
關鍵字是預定義的保留標識符,對編譯器有特殊意義。若需要使用關鍵字作為標識符,則需要在關鍵字前面添加@前綴。
關鍵字有兩種:一種是C#程序任意部分中的保留標識符的關鍵字;一種是僅在一部分程序上下文中作為關鍵字使用,在相應上下文范圍之外用作標識符。(注:C#語言中新增的關鍵字會作為上下文關鍵字添加,以免破壞用舊版語言編寫的程序)
C#類型
值類型的變量可存儲數據,引用類型的變量可存儲對實際數據的引用。引用類型的實例稱作對象。僅在不安全模式下才可使用指針類型。
值類型與引用類型之間會發生裝箱和拆箱操作。(注:只有已裝箱值類型才能進行拆箱操作)
====值類型====
值類型復制是復制該值,而引用類型復制是復制引用。
所有的值類型都隱式派生自System.ValueType。每個值類型都具有一個初始化該類型的默認值的隱式構造函數。
與引用類型不同,值類型不能從值類型派生新類型。但是,與引用類型一樣,結構類型可以實現接口。
值類型變量不能默認為null,但相應的可為空類型的變量可以為null。
====引用類型====
class
delegate --> event
dynamic 與 object
interface
string
C#修飾符
====訪問修飾符====
public: 訪問不受限制
protected:訪問限於包含類或派生自包含類的類型
internal:訪問限於當前程序集
protected internal:訪問限於當前程序集或派生自包含類的類型
private:訪問限於包含類
private protected:訪問限於包含類或當前程序集中派生自包含類的類型
除了protected internal或private protected組合的情況外,一個成員或類型僅允許一個訪問修飾符。namespace不允許出現訪問修飾符,它是沒有任何訪問限制的。
如果未在成員聲明中指定訪問修飾符,則將使用默認訪問修飾符。如enum/interface默認修飾符public;class/struct默認修飾符private。