1.C#语言不能孤立使用,而必须和.NET Framework一起考虑。C#编译器专门用于.NET,这表示用C#编写的所有代码总是在.NET Framework中运行。

2.C#就其本身而言只是一种语言,尽管它是用于生成面向.NET环境的代码,但它本身不是.NET的一部分。.NET支持的一些特性,C#并不支持。而C#语言支持的另一些特性,.NET却不支持(如运算符重载)!

--以上摘自C#高级编程原文

个人理解:

对第1点理解如下:

每个用过C#语言的开发人员都应该知道,C#生成一个exe文件,一定更要装.net框架才能在其他机子上使用,C#开发的网页也是如此,有些人可能会觉得这个说法不正确,那是由于大部分windows都会自带.net framework。

曾看到一个网友这样阐述C#与.NET的关系,我个人觉得挺有道理的,如下:

c#和.net Framework是开发语言和运行平台之间的关系。

比方1:如果你对java了解,那么.Net Framework对应于JRE(Java Runtime Environment-Java运行环境),c#对应于Java语言规范。

比方2:如果你对Windows编程熟悉,那么.Net Framework对应于Windows API,C#对应于C语言。

比方3:如果你对Flash编程熟悉,.Net Framework对应于Flash播放器,C#语言对应于Action Script脚本语言。

对第2点理解如下:

在看到第2点时,可能很多人(包括我)都不能完全理解“.NET支持的一些特性,C#并不支持。而C#语言支持的另一些特性,.NET却不支持(如运算符重载)!”这句话,这句话在书中并没有作很详细地解释,我个人是这样理解的:

.NET包括了C++.NET、C#.NET、VB.NET等,C++有个重要的特性是:C++是Visual Studio.NET中唯一能直接编译为原生代码(native code:本机代码)的语言。关于原生代码可以搜索"ative code"。所以有“.NET支持的一些特性,C#并不支持”这个说法。至于后面那句,我们可以理解为C#支持的一些特性,并不是所以.NET相关的技术都支持,譬如VB,在之前的版本是不支持运算符重载的,看清楚,是之前的版本~

最新文章

  1. 好用的wget命令从下载添加环境变量到各参数详解
  2. Android的Intent.FLAG_ACTIVITY_CLEAR_TOP无效
  3. First,FirstOrDefault,Single,SingleOrDefault的区别
  4. wlan-mcs来自百度百科
  5. HTML基础笔记-01
  6. Linux命令行上传文件到百度网盘
  7. SharedPreferences
  8. 【Alpha阶段】第六次Scrum例会
  9. WCF使用小结:(1)WCF接收HTTP POST数据的处理方法
  10. DP:Sumsets(POJ 2229)
  11. Android 当媒体变更后,通知其他应用重新扫描
  12. hdu4348 - To the moon 可持久化线段树 区间修改 离线处理
  13. 实战 Spring MVC接入支付宝即时到账 (部分代码)
  14. mysql之 MySQL 主从基于 GTID 复制原理概述
  15. python进阶(5):组合,继承
  16. Cocos2d-x3.0 触摸事件
  17. 2.2Bind建立配置文件和实体的映射「深入浅出ASP.NET Core系列」
  18. 找几张图片制作GIF
  19. 爱奇艺2017秋招笔试(C++智能设备方向)
  20. maven install安装工程

热门文章

  1. Metadata Lock原理1
  2. 详解MYSQL数据库密码的加密方式及破解方法
  3. weblogic 10域结构
  4. PHP.9-HTML+CSS(三)-CSS样式
  5. Virtualbox - 共享文件夹
  6. 安装tomcat 证书
  7. yii2.0的gii生成代码bug
  8. CF Amr and Music (贪心)
  9. [BigData]关于HDFS的伪分布式安装和虚拟机网络的配置
  10. poj 2585 拓扑排序