Share via


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

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

注意事項注意事項

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

Unsafe 程式碼概觀

Unsafe 程式碼具有下列屬性:

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

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

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

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

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

相關章節

如需詳細資訊,請參閱:

C# 語言規格

如需詳細資訊,請參閱 C# 語言規格。語言規格是 C# 語法和用法的限定來源。

請參閱

概念

C# 程式設計手冊