可空類型修飾符「T?」:可空類型的基礎類型能夠是任何非可空值類型或任何具備struct約束的類型參數,但不能是可空類型或引用類型。例如:int?表明是可空的整形,而int??則是無效類型。便可空類型能夠表示其基礎類型的全部值和一個額外的空值。語法 T?是System.Nullable<T>的縮寫形式。可空類型具備一個HasValue的bool類型只讀屬性,當可空類型實例的該屬性爲true時,則表示該實例是非空實例,包含一個已知值Value;HasValue爲false時,訪問Value屬性將致使 System.InvalidOperationException。可空類型T?具備一個類型爲T的單個參數的公共構造函數,如new int?(123)將得到一個值爲123的int?類型實例。從T?到由T實現的任何接口都存在裝箱轉換,而且從由T實現的任何接口都存在到T?的拆箱轉換。可是任何狀況下可空類型都不知足接口約束,即便基礎類型實現了該特定接口