【C#學習之旅】1、數據類型

C#有兩種類型:值類型和引用類型。值類型的變量直接包含數據,引用類型的變量則包含對變量(對象)的引用。對於引用類型,兩個變量能夠引用同一個對象,因此,對一個變量的操做可能會影響另外一個變量引用的對象。而對於值類型,每一個變量都有本身的數據副本,所以,對一個變量的操做不會影響到另外一個變量(ref和out參數變量除外)。數組

 1、值類型數據結構

  C#中值類型分爲簡單類型、枚舉類型、結構類型和能夠爲null的值類型。函數

  1. 簡單類型
    • 有符號的整形:sbyte,short,int,long.
    • 無符號的整形:byte,ushort,uint,ulong
    • Unicode字符:char,表示一個UTF-16字符
    • IEEE二進制浮點數:float,double
    • 高精度十進制浮點數:decimal
    • 布爾類型:bool,用於表示布爾值(true和false)
  2. 枚舉類型
    • 格式爲
      enum E {...}
      的用戶定義類型
  3. 結構類型
    • 格式爲
      struct S {...}
      的用戶定義類型,struct類型定義了包含數據成員和函數成員的數據結構,與類類型類似,但結構類型是值類型,存儲在棧上,沒法被繼承,而且全部結構類型均隱式繼承自 object 類型
  4. 能夠爲null的值類型
    • 值爲
      null
      的其餘全部值類型的擴展
  5. 元組值類型
    • 格式爲
      (T1,T2, ...)
      的用戶定義類型

 

2、引用類型ui

  C#中引用類型分爲類類型、接口類型、數組類型和委託類型spa

  1. 類類型
    • 其餘全部類型的最終基類:object
    • Unicode字符串:string,表示一個UTF-16字符串
    • 格式爲
      class TestClass
      {
            //方法、屬性、字段、事件、委託
            //和嵌套類  
      }
      的用戶定義類型,class 類型定義了包含數據成員(字段)和函數成員(方法、屬性等)的數據結構,一個類類型只能繼承一個基類,但一個類能實現多個接口。
  2. 接口類型
    • 格式爲
      interface I {...}
      的用戶定義類型,定義了全部類繼承接口時應遵循的語法協議。包含了屬性、方法和事件的聲明,這些接口成員的定義(代碼實現)必須由實現接口的類或結構完成。接口能夠繼承自多個基接口,類和結構能夠實現多個接口。
  3. 數組類型
    • 一維和多維數組,例如int[] 和 int[,]
  4. 委託類型
    • 格式爲
      delegate int D(...)
      的用戶定義類型,表示對具備特定參數列表和返回類型的方法的引用。
相關文章
相關標籤/搜索