阅读《C#高级编程》系列丛书中,介绍C#与.NET的关系,提到C#是语言,.NET是平台(C#不是.NET的一部分),说”.NET支持的一些特性,C#并不支持“,这个可以理解,因为C#只是.NET平台支持的语言中的一种,并且.NET可以直接编写IL程序;但是又说”C#支持的一些特性,.NET并不支持“,这我就不理解,因为C#只能在.NET平台上运行,那C#支持的特性,.NET上不支持,程序是怎么运行的呢?求解!
1 回答
萧十郎
TA贡献1815条经验 获得超13个赞
你要分清楚语言、编译器和CLR的关系。
语言特性比如扩展方法,这东西时纯粹的属于编译器支持的特性,而CLR并不支持。CLR不支持的这部分都是属于编译器特性,俗称语法糖。
但是CLR支持的仅返回类型不同其他都相同的方法重载,而C#并不支持。CLR支持的这部分属于IL的能力范围,但是C#并没有实现IL所支持的所有特性。
- 1 回答
- 0 关注
- 746 浏览
添加回答
举报
0/150
提交
取消