.NET中結構與類的區別

        .NET中的類型有5中:類、結構、枚舉、接口和委託。而類和結構有着很大的相似性,都可以擁有向字段、方法這樣的成員。

        但是,類和結構還是有很多不同的。

        1)結構是 值類型,而類確是引用類型的。

        2)結構不支持繼承。

        3)因爲結構是 值類型的,所以兩個變量不能指向同一結構實例。

        4)引用類型可以爲空(null),但卻不能給值類型賦值爲空,會導致編譯出錯

                    例如 System.DataTime是一個結構,以下是錯誤的

                    System.dataTime today = null;     //Wrong

               爲了規避這個問題,.NET Framework提供了System.Nunllable結構來使任意結構可以爲空,               簡單的寫法爲:   System.dataTime? today = null;

                           int? x = null;  //x是nullable


C#中所有的基本類型,都是在System命名空間中所定義的結構的別名。例如 int和char,我們每在C#中聲明一個int,就會創建一個System.Int32實例,每一個char,就會有一個System.Char實例支持它。值類型繼承自System.ValueType,引用類型繼承自System.Object。


還有一個小問題我之前沒聽過,就是程序集的概念

        【我們可以在System.Numerics.dll程序集中找到System.Numerics命名空間,要使用其成員,我們需要現在項目中增加對這個程序集的引用】   Project->Add Reference選中想引用組件類型的標籤頁

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章