2013-02-13 111 views
0

我對C#參考中的幾條語句有些困惑。值類型和參考類型

  1. Object是引用類型
  2. Struct是數值類型
  3. Struct從對象類衍生

爲什麼不應該結構或任何其他值類型也可以在此引用類型案件。

糾正我,如果我的任何假設是錯誤的。

+1

相關http://stackoverflow.com/questions/13564090/how-why-possible-a-value-type-derives-from-a-reference-type – 2013-02-13 19:52:05

+5

這個話題多年來已經討論過很多次了。我很驚訝你沒有找到任何這些討論。 – 2013-02-13 19:52:15

+0

檢查以下[鏈接](https://stackoverflow.com/a/42606778/4156229)該示例是用java給出的,但它可能有幫助 – 2017-09-19 09:53:42

回答

0

因爲它是規範的一部分。所以,編譯器團隊正在強制這一點。我相信有一篇文章談論這是一個實現細節,但目前找不到它。

您也許還想看看Struct/Heap Storage question。這可能會幫助清理一些事情。

0

這是因爲Struct是一個特殊情況,CLR以特殊方式處理它。