Dot-Net

什麼是類型安全?

  • June 30, 2016

我最近參加了一次腦力測驗,得到了高分,但有幾個問題對我來說很難。也許是因為英語不是我的母語……問題之一是:

以下哪一項描述了類型安全?

  1. 用於確保 CLR 中引用和值類型的安全性的程式構造
  2. 防止因禁止非託管訪問而導致的記憶體洩漏
  3. 特定於 CLR 的功能保證類型不能訪問它們自己的 AppDomain 之外的記憶體
  4. 一種通過使用強名稱鍵來保護程序集及其類型的機制
  5. 處理保證分配的對象總是以兼容的方式訪問的概念

我認為是 1 或 5,但它們對我來說聽起來很奇怪:(

你怎麼看?

實際上我認為這是選擇 5,因為類型安全與安全性無關。

類型安全是一種語言的特性,旨在使

$$ Robin Milner $$$$ 1 $$ML 程式的著名口號:良好類型的程序不會出錯。 口號需要一些解包才能正確理解,但它基本上意味著程序不會因為執行時類型錯誤而失敗,即當應用於建構子或函式的參數具有不兼容類型的值時。

考慮一種允許整數、整數函式作為一等值、函式抽象和部分函式應用的語言,並將通常的整數算術運算符定義為二進制函式。類型安全的屬性是編譯器強制執行的,以確保加法運算符的兩個參數都是減少為整數而不是函式的表達式。如果一個程序是類型良好的,那麼編譯器可以為它發出一個可執行對象。否則,它會標記程式錯誤併中止。

引用自:https://stackoverflow.com/questions/928275