咨询电话:15629116585(9:00-21:00)咨询QQ:272876 交流QQ群:87780123
微信

关注我们
在线咨询购买 | 注册 | 登录

武汉灵犀教育

C#和.NET之间的关系[科普篇] - 武汉灵犀教育

News center
资讯中心

资讯中心当前位置:首页>>资讯详情

C#和.NET之间的关系[科普篇]
发布:武汉灵犀教育发布时间:2019-06-23

 

C#是一种面向对象的高级语言,不是脚本语言。 脚本语言不会被编译,而只是逐条语句读取并进行解释(读取一条语句,翻译成机器码或者虚拟机码并立即执行,一条指令有可能翻译成多条机器指令),这对于像javascript这样的东西很有用,但是当对性能有要求时,编译语言就是可行的方法。

.NET 框架包含编译器,运行时和库。

一般而言,.NET是一个编程环境,除了其他东西外,还包含一个虚拟机CLR(Common Language Runtime)和一个广泛的类库BCL(Base Class Library)。 
C#是一个针对.NET环境的编程语言,C#被编译成IL(一种用CLR执行的汇编语言), 并使用BCL中的类。

C# 是一种与C++ 非常相似的编程语言,而.NET是一个库、类和现成的方法的集合。.NET和 C# 紧密相关,每一个using语句都从.NET导入一个类的集合到用户的项目中。


.NET是一个框架,这就意味着.NET平台包含现有代码和体系结构的库,所有使用它的应用程序都是从这些库构建的。.NET类似于一种工具盒,提供的功能都已经功过不断的完善和改进,因此如果使用.NET开发应用程序,完全不需要写底层代码,开发过程将快速而高效。

例如,winforms就相当于一个搭建好的的地基,只需转到 文件 > 新项目,就可以通过基本的用户界面构建Windows应用程序。 而如果没有这个支持开发的库,用户就会不得不使用GDI自行生成window form和用户接口,这就是好处。

C#只是一种专门针对.NET编写的编程语言,事实上,.NET框架的绝大部分都是用C#写的 ( 如果不是全部的话 )。 它的语法只是C语言的下一个发展阶段,因此从C++过渡到C#应该不会太困难,二者语法类似。 任何.NET语言通常都与其他.NET语言兼容。 例如,一个编译过的VB类库可以在C#程序中使用。

因为.NET是一个框架,所以用户程序中引用的代码不会被编译到的程序中,用户引用的框架中的代码已经经过编译。 这就意味着运行程序的客户端也必须具有.NET框架,客户端的框架因为不包含开发工具,所以是精简版本。此框架已集成在Windows Vista/7中,只有某些使用Windows XP的用户需要考虑下载框架的问题。绝大多数的应用程序会准确检测到此需求并通知终端用户进行下载。

所有版本的Visual Studio都只是帮助您构建应用程序并更好地利用.NET框架的工具。 如果没有至少是Visual Studio的express (免费)版本,我是绝不会推荐使用任何.NET语言进行编码的。仅Intellisense 一个就可以了,也就是说,没有VS IDE进行编码是绝对可行的,可以打开一个记事本写C#程序,然后用免费编译器进行编译,然后执行。

总结 : .NET 是一个框架(运行平台)。C# 是一种可用于.NET平台的语言。另外VB(Visual Basic)也是一种 .NET 语言,选择C#还是VB只是一种偏好问题。而 Visual Studio 是一个协助用户进行.NET编码的工具。