Share via


Unsafe 程式碼和指標 (C# 程式設計手冊)

更新:2007 年 11 月

為了維護型別安全 (Type Safety) 和安全性,C# 預設不支援指標算術。然而,藉由使用 unsafe 關鍵字,即可定義能在其中使用指標的 unsafe 內容。如需指標的詳細資訊,請參閱指標型別主題。

注意事項:

在 Common Language Runtime (CLR) 中,Unsafe 程式碼稱為無法驗證的程式碼。C# 中的 Unsafe 程式碼不一定具有危險性,只是它的安全性無法由 CLR 驗證。因此,CLR 將只會執行位於完全受信任組件內部的 Unsafe 程式碼。如果您使用 Unsafe 程式碼,請務必確認程式碼不會帶來安全性風險或造成指標錯誤。如需詳細資訊,請參閱安全性 (C# 程式設計手冊)

Unsafe 程式碼概觀

Unsafe 程式碼具有下列屬性:

  • 方法、型別及程式碼區塊都可以定義為 Unsafe

  • 在某些情況下,Unsafe 程式碼可能藉由移除陣列界限檢查,來增加應用程式的效能

  • 當呼叫需要指標的原生函式時,便會需要使用 Unsafe 程式碼

  • 使用 Unsafe 程式碼會帶來安全性和穩定性風險

  • 為了讓 C# 編譯 Unsafe 程式碼,必須以 /unsafe 來編譯應用程式

相關章節

如需詳細資訊,請參閱:

C# 語言規格

如需詳細資料,請參閱 C# 語言規格中的下列章節:

  • 18 Unsafe 程式碼

  • B 3 Unsafe 程式碼的文法擴充

請參閱

概念

C# 程式設計手冊