閱讀《C#高級(jí)編程》系列叢書中,介紹C#與.NET的關(guān)系,提到C#是語言,.NET是平臺(tái)(C#不是.NET的一部分),說”.NET支持的一些特性,C#并不支持“,這個(gè)可以理解,因?yàn)镃#只是.NET平臺(tái)支持的語言中的一種,并且.NET可以直接編寫IL程序;但是又說”C#支持的一些特性,.NET并不支持“,這我就不理解,因?yàn)镃#只能在.NET平臺(tái)上運(yùn)行,那C#支持的特性,.NET上不支持,程序是怎么運(yùn)行的呢?求解!
1 回答

蕭十郎
TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超13個(gè)贊
你要分清楚語言、編譯器和CLR的關(guān)系。
語言特性比如擴(kuò)展方法,這東西時(shí)純粹的屬于編譯器支持的特性,而CLR并不支持。CLR不支持的這部分都是屬于編譯器特性,俗稱語法糖。
但是CLR支持的僅返回類型不同其他都相同的方法重載,而C#并不支持。CLR支持的這部分屬于IL的能力范圍,但是C#并沒有實(shí)現(xiàn)IL所支持的所有特性。
- 1 回答
- 0 關(guān)注
- 773 瀏覽
添加回答
舉報(bào)
0/150
提交
取消