第一个C#程序
创建一个C#项目
首先我们打开VS编辑器,选择 “文件-新建-项目” ,在弹出的弹框中选择 控制台应用(.NET Framework),然后输入名称、位置和解决方案名称 , 点击 “确定” 创建项目
注意:关于弹框中的其它选择,例如:控制台应用(.NET Core)、WPF应用等,感兴趣的话可以去搜索一下,这里目前学习使用 “控制台应用(.NET Framework)”即可。
其中项目名称、位置、解决方案名称不建议使用中文、框架目前使用.NET Framework 4.6
创建完成
这开发工具为我们创建好的 基本框架结构。
其中 static void Main(string[] args){}
是程序的入口点
输入代码并运行程序
在static void Main(string[] args){}
中输入
Console.WriteLine("Hello Word!");
然后点击工具栏中的“启动”按钮(或者按快捷键“F5”),即可运行程序、查看输出结果。
注意: 在C#中, 严格区分大小写!
程序运行结果
.NET框架分析
现在我们就可以看到运行结果了,但我们现在还不是很清楚编辑器到生成程序、然后运行程序,中间后台到底发生了哪些变化 ,或者说做了哪些工作,那么我们接下来看一下到底是怎样工作的。
首先,我们先打开程序所在的文件夹,我们可以通过:鼠标右击“项目名称”,然后在弹出的选项中选择“在文件资源管理器中打开文件夹” 来快速打开程序所在的文件夹。
打开程序所在的文件夹
找到当前文件夹–>“bin”–>“Debug”文件夹,这里面有个 文件名.exe 文件,那么这个exe文件它里面是什么样子的呢,我们可以使用微软提供的一个特殊的工具来查看它。
这个工具叫做IL DASM
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools
在上面这个目录(可能有所出入),一般都可以找到这个程序
这就是IL DASM程序
打开IL DASM程序,然后将刚才 exe 文件拖放到该程序中,然后我们可以发现会得到以下的一个属性目录,其中有个叫Main,这个其实就是咱们所说的方法,这个目录就是对微软中间语言的一个展示,我们可以把它双击打开看一下。
这里面就是中间语言的语法,如果对这个中间语言感兴趣,可自行学习,这里不再展开详细解释
当然,如果使用VB编程语言编写一个相同的程序,这里也会生成一个基本上完全一样的exe程序
目前我们不用太刻意去深入,我们作为初学者,目前只是需要了解即可
但目前,这个.exe文件并不是直接运行在操作系统上,它其实运行在虚拟机上面
我们使用C#、VB等编程语言编程时,都会被 .NET框架中的公共语言运行库(CLR)编译成中间语言。
公共语言运行库会根据语言的不同类型编译成不同的模块,编译后会生成两种,分别为exe或dll文件(IL中间语言模块)
而且使用VB或C#开发是无缝集成的,我们使用VB开发生成的dll模块,我们使用C#同样可以调用。
虽然已经编译成中间语言,但在我们机器上执行的时候,还是要根据即时编译(JIT),最终将它转换为机器能够执行的机器码。
公共语言运行库(CLR)包含通用类型系统(CTS)和通用语言系统(CLS)
CTS把不同语言之间的数据类型的差别消除掉,都编译成中间语言的数据类型
CLS把不同语言之间的语法的差别消除
基础类库(BCL)是微软所提出的一组标准库,可提供给 .NET Framework 所有语言使用。
本次博客参考该网址