.NET Framework 類別庫概觀
更新:2007 年 11 月
.NET Framework 包括類別、介面和實值型別,以加速和最佳化開發過程並提供對系統功能的存取。為了促進語言之間的互通性 (Interoperability),大部分 .NET Framework 型別符合 CLS 標準,因而可以用於所有符合 Common Language Specification (CLS) 程式語言編譯器之中。
.NET Framework 型別是建置 .NET 應用程式、元件和控制項的基礎。.NET Framework 包含執行下列函式的型別:
代表基底資料型別和例外狀況
封裝資料結構
執行 I/O
存取有關已載入型別的資訊
叫用 .NET Framework 安全性檢查
提供資料存取、豐富型用戶端 (Rich Client) GUI 和伺服器控制的用戶端 GUI
.NET Framework 提供相當豐富的介面,以及抽象和具體 (非抽象) 類別。您可以使用原來的具體類別,或在許多狀況中從它們衍生您自己的類別。若要使用介面的功能,您可以建立實作介面的類別,或者從實作介面的 .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#、C++ 和 JScript 中的對應型別。
分類 |
類別名稱 |
說明 |
Visual Basic 資料型別 |
C# 資料型別 |
C++ 資料型別 |
JScript 資料型別 |
---|---|---|---|---|---|---|
整數 |
8 位元不帶正負號的整數。 |
Byte |
byte |
char |
Byte |
|
|
8 位元帶正負號的整數。 不符合 CLS 標準。 |
SByte |
sbyte |
signed char |
SByte |
|
|
16 位元帶正負號的整數。 |
Short |
short |
short |
short |
|
|
32 位元帶正負號的整數。 |
Integer |
int |
int -或- long |
int |
|
|
64 位元帶正負號的整數。 |
Long |
long |
__int64 |
long |
|
|
16 位元不帶正負號的整數。 不符合 CLS 標準。 |
UShort |
ushort |
unsigned short |
UInt16 |
|
|
32 位元不帶正負號的整數。 不符合 CLS 標準。 |
UInteger |
uint |
unsigned int -或- unsigned long |
UInt32 |
|
|
64 位元不帶正負號的整數。 不符合 CLS 標準。 |
ULong |
ulong |
unsigned __int64 |
UInt64 |
|
浮點 |
單精度 (32 位元) 浮點數。 |
Single |
float |
float |
float |
|
|
雙精度 (64 位元) 浮點數。 |
Double |
double |
double |
double |
|
邏輯 |
布林值 (true 或 false)。 |
Boolean |
bool |
bool |
bool |
|
其他 |
Unicode (16 位元) 字元。 |
Char |
char |
wchar_t |
char |
|
|
這是一個 128 位元的十進位值。 |
Decimal |
decimal |
Decimal |
Decimal |
|
|
帶正負號的整數,其大小取決於基礎平台 (在 32 位元平台為 32 位元值,而在 64 位元平台為 64 位元值)。 |
IntPtr 非內建型別 |
IntPtr 非內建型別 |
IntPtr 非內建型別 |
IntPtr |
|
|
不帶正負號的整數,其大小取決於基礎平台 (在 32 位元平台為 32 位元值,而在 64 位元平台為 64 位元值)。 不符合 CLS 標準。 |
UIntPtr 非內建型別 |
UIntPtr 非內建型別 |
UIntPtr 非內建型別 |
UIntPtr |
|
類別物件 |
物件階層架構的根。 |
Object |
object |
Object* |
Object |
|
|
Unicode 字元,為不變且長度固定的字串。 |
String |
string |
String* |
String |
除了基底資料型別,System 命名空間還包含 100 多個類別,涵蓋的範圍從處理例外狀況的類別到處理核心執行階段概念的類別,像是應用程式定義域和記憶體回收行程。System 命名空間也包含許多第二層命名空間。
如需命名空間的詳細資訊,請瀏覽 .NET Framework 參考的內容。參考文件提供各個命名空間的簡要概觀,還有各個型別和它成員的正式說明。