.NET 類別庫概觀

.NET API 包含類別、介面、委派和值類型,以加速和最佳化開發過程並提供對系統功能的存取。 為了促進語言之間的互通性,大部分 .NET 類型符合 CLS 標準,因而可以透過其編譯器符合 Common Language Specification (CLS) 的任何程式設計語言來使用。

.NET 類型是建置 .NET 應用程式、元件和控制項的基礎。 .NET 包含執行下列函式的類型:

  • 代表基底資料型別和例外狀況
  • 封裝資料結構
  • 執行 I/O
  • 存取有關已載入型別的資訊
  • 叫用 .NET 安全性檢查。
  • 提供資料存取、豐富型用戶端 (Rich Client) GUI 和伺服器控制的用戶端 GUI

.NET 提供相當豐富的介面,以及抽象和具體 (非抽象) 類別。 您可以使用原來的具體類別,或在許多狀況中從它們衍生您自己的類別。 若要使用介面的功能,您可以建立實作介面的類別,或者從實作介面的 .NET 類別之一來衍生類別。

命名規範

.NET 類型使用意味著階層架構的點語法命名配置。 這個技術將相關的型別群組至命名空間 (Namespace),所以可以更容易地搜尋和參考它們。 完整名稱的第一部分—直到最右邊的點—是命名空間名稱。 最後部分是型別名稱。 例如,System.Collections.Generic.List<T> 代表 List<T> 型別,其屬於 System.Collections.Generic 命名空間。 System.Collections.Generic 中的型別可以用來處理泛型集合。

這個命名配置使得程式庫開發人員更容易擴充 .NET 以建立階層式類型群組,並以一致且有意義的方式加以命名。 此外還允許以完整名稱明確識別型別 (也就是藉由命名空間和型別名稱),其可避免型別名稱衝突。 程式庫開發人員為其命名空間建立名稱時,應使用以下命名慣例:

CompanyName.TechnologyName

例如,Microsoft.Word 命名空間符合這個方針。

使用命名模式將相關的型別群組至命名空間,是建置和記錄類別庫非常有用的方式。 然而,這個命名配置在可視性、成員存取、繼承 (Inheritance)、安全性或繫結上沒有作用。 命名空間可以在多重組件 (Assembly) 之間分割,而單一組件可以包含來自多重命名空間的型別。 組件在 Common Language Runtime 中提供版本、部署、安全性、載入和可視性的正式結構。

如需命名空間和類型名稱的詳細資訊,請參閱一般型別系統

System 命名空間

System 命名空間是 .NET 中基本類型的根命名空間。 這個命名空間包含的類別,代表所有應用程式使用的基底資料型別,例如 Object (繼承階層架構的根)、ByteCharArrayInt32String。 許多這些型別對應到您的程式語言所使用的原始資料型別。 當您使用 .NET 類型撰寫程式碼時,您可以在需要 .NET 基底資料類型時使用語言的對應關鍵字。

下表列出 .NET 所提供基底類型的清單、簡要描述各類型,並且指示 Visual Basic、C#、C++ 和 F# 中的對應類型。

類別 類別名稱 描述 Visual Basic 資料類型 C# 資料型別 C++/CLI 資料類型 F# 資料類型
整數 Byte 8 位元不帶正負號的整數。 Byte byte unsigned char byte
SByte 8 位元帶正負號的整數。

不符合 CLS 標準。
SByte sbyte charsigned char sbyte
Int16 16 位元帶正負號的整數。 Short short short int16
Int32 32 位元帶正負號的整數。 Integer int intlong int
Int64 64 位元帶正負號的整數。 Long long __int64 int64
UInt16 16 位元不帶正負號的整數。

不符合 CLS 標準。
UShort ushort unsigned short uint16
UInt32 32 位元不帶正負號的整數。

不符合 CLS 標準。
UInteger uint unsigned intunsigned long uint32
UInt64 64 位元不帶正負號的整數。

不符合 CLS 標準。
ULong ulong unsigned __int64 uint64
浮點 Half 半精度 (16 位元) 浮點數。
Single 單精確度 (32 位元) 浮點數。 Single float float float32single
Double 雙精度 (64 位元) 浮點數。 Double double double floatdouble
邏輯 Boolean 布林值 (true 或 false)。 Boolean bool bool bool
其他 Char Unicode (16 位元) 字元。 Char char wchar_t char
Decimal 這是一個 128 位元的十進位值。 Decimal decimal Decimal decimal
IntPtr 帶正負號的整數,其大小取決於基礎平台 (在 32 位元平台為 32 位元值,而在 64 位元平台為 64 位元值)。 nint unativeint
UIntPtr 不帶正負號的整數,其大小取決於基礎平台 (在 32 位元平台為 32 位元值,而在 64 位元平台為 64 位元值)。

不符合 CLS 標準。
nuint unativeint
Object 物件階層架構的根。 Object object Object^ obj
String Unicode 字元,為不變且長度固定的字串。 String string String^ string

除了基底資料型別,System 命名空間還包含 100 多個類別,涵蓋的範圍從處理例外狀況的類別到處理核心執行階段概念的類別,像是應用程式定義域和記憶體回收行程。 System 命名空間也包含許多第二層命名空間。

如需命名空間的詳細資訊,請使用 .NET API 瀏覽器來瀏覽 .NET 類別庫。 API 參考文件提供每個命名空間、其類型及其每個成員的相關文件。

資料結構

.NET 包含一組可承載許多 .NET 應用程式的資料結構。 其中大多是集合,但也包含其他類型。

  • Array - 代表可依索引存取的強型別物件陣列。 根據其建構具有固定大小。
  • List<T> - 代表可依索引存取的強型別物件清單。 其大小會視需要自動調整。
  • Dictionary<TKey,TValue> - 代表由索引鍵編製索引的值集合。 這些值可透過索引鍵存取。 其大小會視需要自動調整。
  • Uri - 提供統一資源識別項 (URI) 的物件表示,以及對 URI 各部分的簡易存取。
  • DateTime - 代表時間的瞬間,通常以一天的日期和時間表示。

公用程式 API

.NET 包含一組公用程式 API,以提供用於執行許多重要工作的功能。

  • HttpClient - 此 API 可用於傳送 HTTP 要求,以及從 URI 所識別的資源接收 HTTP 回應。
  • XDocument - 此 API 可用於載入,以及使用 LINQ 查詢 XML 文件。
  • StreamReader - 此 API 可用於讀取檔案。
  • StreamWriter - 此 API 可用於寫入檔案。

應用程式模型 API

有許多應用程式模型可以與 .NET 搭配使用,例如:

  • ASP.NET - 用來建置網站和服務的 Web 架構。 受到 Windows、Linux 和 macOS 的支援 (視 ASP.NET 版本而定)。
  • .NET MAUI - 一個應用程式平台,可讓您使用 C# 建置在 Windows、macOS、iOS 和 Android 上執行的原生應用程式。
  • Windows 桌面 - 包含 Windows Presentation Foundation (WPF) 和 Windows Forms。

另請參閱