2013-03-18 89 views
1

我覺得這是很常見的誤解,我最終會在兩者之間感到困惑。 當我們說CLR功能(.NET功能)或C#功能,他們是否相同或他們不同.NET功能和C#功能有什麼區別? (請用例子)

編輯: 我覺得大多數人都誤解了我的問題。我不是問C#和.NET之間的核心區別,而是對功能明智的分類有點好奇。像垃圾回收是CLR功能還是匿名類型是語言功能,等等等等

+0

可能重複的[C#和.Net之間有什麼不同?](http://stackoverflow.com/questions/2724864/what-is-the-different -c-sharp-and-net) – 2013-03-20 07:42:34

+0

我覺得大部分人都誤解了我的問題。我不是問C#和.NET之間的核心區別,而是對功能明智的分類有點好奇。像垃圾回收是CLR功能還是匿名類型是語言功能,等等等等 – Misam 2013-03-20 12:49:13

+0

我看到,您的編輯有助於澄清這一點。我不能撤銷我的重複投票,但這並沒有多大幫助,因爲大多數近距離投票都是「不具有建設性」,可能是因爲「擴大討論」的危險。 – 2013-03-20 13:42:10

回答

7

語言功能,庫功能和運行時功能之間的值得非常清楚。

一些例子:

  • 空-聚結??操作者,局部類和lambda表達式是完全語言特性
  • 垃圾收集是非常純的運行特徵;該語言通過終結器與其進行交互,但這些全都是
  • 泛型是語言和運行時功能的混合體 - 儘管CLR在F#暴露前顯着支持泛型變異。當然,圖書館使用泛型。
  • 可空類型是所有三種類型的混合體:CLR需要知道它們的裝箱目的(以及對泛型的結構約束),類型本身在庫中定義,並且C#語言在各種類型中支持它們方式(例如使用?類型後綴)
+0

謝謝喬恩。這幫助並消除了疑問 – Misam 2013-03-18 09:49:52

+0

@Misam:你對這個答案的接受是否表明你還在尋找更多的細節? – 2013-03-20 17:10:53

+0

是的,一些更多的功能分類會很好,這將增加我的知識。 – Misam 2013-03-21 06:43:43

相關問題