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 程式碼的文法擴充