.NET Framework 類別庫的簡介
.NET Framework 包括類別、介面和數值型別,以加速和最佳化開發過程並提供對系統功能的存取。為了促進語言之間的互通性 (Interoperability),.NET Framework 型別符合 CLS 的相容性要求,因而可以用於所有符合 Common Language Specification (CLS) 程式語言編譯器之中。
.NET Framework 型別是建置 .NET 應用程式、元件和控制項的基礎。.NET Framework 包括執行下列功能的型別:
- 代表基底資料型別和例外狀況 (Exception)。
- 封裝資料結構。
- 執行 I/O。
- 存取有關已載入型別的資訊。
- 叫用 .NET Framework 安全性檢查。
- 提供資料存取、豐富型用戶端 (Rich Client) GUI 和伺服器控制的用戶端 GUI。
.NET Framework 提供很多組介面,還有抽象 (Abstract) 和具體 (非抽象) 類別。您可以使用原來的具體類別,或在許多狀況中從它們衍生您自己的類別。若要使用介面的功能,您可以建立實作介面的類別,或者從實作介面的 .NET Framework 類別之一來衍生類別。
命名規格
.NET Framework 型別使用意味著階層架構的點語法命名配置。這個技術將相關的型別群組至命名空間 (Namespace),所以可以更容易地搜尋和參考它們。完整名稱的第一部分 - 直到最右邊的點 - 是命名空間名稱。最後部分是型別名稱。例如,System.Collections.ArrayList 代表 ArrayList 型別,其屬於 System.Collections 命名空間。System.Collections 中的型別可以用來操作物件的集合。
這命名配置使得程式庫開發人員更容易擴充 .NET Framework 以建立階層式型別群組,並以一致且有意義的方式來命名它們。程式庫開發人員為其命名空間建立名稱時,預期將使用下列方針:
CompanyName.TechnologyName
例如,Microsoft.Word 命名空間符合這個方針。
使用命名模式將相關的型別群組至命名空間,是建置和記錄類別庫非常有用的方式。然而,這個命名配置在可視性、成員存取、繼承 (Inheritance)、安全性或繫結上沒有作用。命名空間可以在多重組件 (Assembly) 之間分割,而單一組件可以包含來自多重命名空間的型別。組件在 Common Language Runtime 中提供版本、部署、安全性、載入和可視性的正式結構。
如需命名空間和型別名稱的詳細資訊,請參閱通用型別系統。
System 命名空間
System 命名空間是 .NET Framework 中基礎型別的根 (Root) 命名空間。這個命名空間包含類別,代表所有應用程式使用的基底資料型別:Object (繼承階層架構的根)、Byte、Char、Array、Int32、String 等。許多這些型別對應到您的程式語言所使用的原始資料型別。當您使用 .NET Framework 型別撰寫程式碼時,您可以在需要 .NET Framework 基底資料型別時使用您語言的對應關鍵字。
下列表格列出 .NET Framework 提供的一些數值型別、簡要描述各個型別,並指示 Visual Basic、C# 和 Managed Extensions for C++ 中的對應型別。這個表格也包括 Object 和 String 類別的項目,因為許多語言有與之相對應的關鍵字。
分類 | 類別名稱 | 說明 | Visual Basic 資料型別 | C# 資料型別 | Managed Extensions for C++ 資料型別 | JScript 資料型別 |
---|---|---|---|---|---|---|
整數 | Byte | 8 位元不帶正負號的整數。 | Byte | byte | char | Byte |
SByte | 8 位元帶正負號的整數。
非 CLS 相容。 |
SByte
非內建型別。 |
sbyte | signed char | SByte | |
Int16 | 16 位元帶正負號的整數。 | Short | short | short | short | |
Int32 | 32 位元帶正負號的整數。 | Integer | int | int
-或- long |
int | |
Int64 | 64 位元帶正負號的整數。 | Long | long | __int64 | long | |
UInt16 | 16 位元不帶正負號的整數。
非 CLS 相容。 |
UInt16
非內建型別。 |
ushort | unsigned short | UInt16 | |
UInt32 | 32 位元不帶正負號的整數。
非 CLS 相容。 |
UInt32
非內建型別。 |
uint | unsigned int
-或- unsigned long |
UInt32 | |
UInt64 | 64 位元不帶正負號的整數。
非 CLS 相容。 |
UInt64
非內建型別。 |
ulong | unsigned __int64 | UInt64 | |
浮點數 | Single | 單精度 (32 位元) 浮點數。 | Single | float | float | float |
Double | 雙精度 (64 位元) 浮點數。 | Double | double | double | double | |
邏輯值 | Boolean | 布林值 (true 或 false)。 | Boolean | bool | bool | bool |
其他 | Char | Unicode (16 位元) 字元。 | Char | char | wchar_t | char |
Decimal | 96 位元十進位值。 | Decimal | decimal | Decimal | Decimal | |
IntPtr | 帶正負號的整數,其大小取決於基礎平台 (在 32 位元平台為 32 位元值,而在 64 位元平台為 64 位元值)。 | IntPtr
非內建型別。 |
IntPtr
非內建型別。 |
IntPtr
非內建型別。 |
IntPtr | |
UIntPtr | 不帶正負號的整數,其大小取決於基礎平台 (在 32 位元平台為 32 位元值,而在 64 位元平台為 64 位元值)。
非 CLS 相容。 |
UIntPtr
非內建型別。 |
UIntPtr
非內建型別。 |
UIntPtr
非內建型別。 |
UIntPtr | |
類別物件 | Object | 物件階層架構的根。 | Object | object | Object* | Object |
String | Unicode 字元,為不變且長度固定的字串。 | String | string | String* | String |
除了基底資料型別,System 命名空間還包含幾乎 100 個類別,從處理例外狀況的類別到應付核心 Rumtime 概念的類別,例如應用程式定義域和記憶體回收行程。System 命名空間也包含許多第二層命名空間。
如需命名空間的詳細資訊,請瀏覽 .NET Framework 參考的內容。參考文件提供各個命名空間的簡要概觀,還有各個型別和它成員的正式描述。