请参考1-8-1节创建方案ch2_1,此方案的项目名称是proj2_1,可以得到的.NET Framework 4.8的C#语言结构如下所示。
在创建.NET Framework 4.8的C#语言后,可以在程序前面看到下列Visual Studio自动创建并引用的命名空间的类。
上述程序代码其实是关键词using加上类所组成的,然后类右边加上分号(;),上述程序代码实际上是用using关键词引用了5个设计C#时常用的类,这是using指令的用法,using另一种用法是应用在语句中,34-3-3节还会说明。在这里using关键词有两个好处,分别如下。
方便引用类
假设我们设计一个类MyClass.Testing.Sample,此类内有方法A,如果没有使用using关键词引用此类,在程序内部引用方法A时,需使用下列程序代码:
MyClass.Testing.Sample.A
如果在程序前面使用using,程序代码可以直接使用A,即可以引用如下:
避免名称冲突
假设有MyClass.Testing.SampleA和MyClass.Testing.SampleB两个类,且这两个类均有Test类,如果我们使用下列方式引用类:
using MyClass.Testing.SampleA; using MyClass.Testing.SampleB;
那么在程序设计使用Test类时,会有名称冲突的问题,这时可以使用下列方式引用类:
using ma = MyClass.Testing.SampleA; using mb = MyClass.Testing.SampleB;
这样就可以用ma.Test表示引用MyClass.Testing.Sample的类Test;用mb.Test表示引用MyClass.Testing.SampleB的类Test。
下面是Visual Studio自动创建的C#程序代码基本结构。
上述namespace proj2_1中proj2_1是命名空间的名称,Visual studio默认使用项目名称proj2_1作为命名空间的名称,这个名称是可以修改的。上述默认程序代码内有中文,表示可以在这些中文的位置增加程序代码。其实我们可以将C#程序结构用下图表示。
如果读者观察C#程序,可以看到程序代码有缩排设计,这个缩排设计可以让整个程序的结构更完整。注:上述默认情况下一个程序有一个自定义的命名空间(namespace),在实际的复杂程序设计时,一个C#可以有多个命名空间。
类的关键词是class,在面向对象的程序设计的概念中,一个命名空间内可以有多个类,我们可以依据程序的功能自行为类命名。
在Visual Studio的默认环境下,一个命名空间有一个类,目前默认的类名是Program,读者也可以自行编辑类的名称。
C#是从C和C++语言衍生而来的,C和C++语言的入口点是Main()函数,对于C#而言其则是一个项目的入口点,不过C#语言中的Main()函数有下列特性:
1.必须在一个类内。
2.必须是静态(static)的\。
3.Main()可以不回传结果,也就是回传void。其还可以回传整数(int类),正常执行结果是回传0。
4.在C/C++语言中main()的m是小写,在C#语言中Main()的M是大写。
请参考1-8-1节创建方案ch2_2,此方案的项目名称是proj2_2,同时在Main()函数内增加下列程序代码:
Console.WriteLIne("我的 .NET Framework 4.8程序");
C#指令用”;”当作结尾字符。
WriteLine()函数,可以将双引号内的数据当作字符串输出,同时输出后换行,未来如果还有输出,可以在下一行输出。
上述程序输入后可以看到程序左边有黄色的框线标记,此标记区记录自己设计的,但尚未存储的程序代码,Visual Studio自行产生的程序代码是不带标记的,此时界面内容如下所示。
程序设计后,可以单击
,或执行“文件”|“保存Program.cs”存储此文件,这时黄色框线标记变为绿色长条标记,如下所示。
程序创建完成后,可以同时按Ctrl+F5键或是执行“调试”|“开始执行(不调试)”指令来执行此方案。
在Visual Studio窗口下方的输出窗口,可以看到如下所示的此项目的信息。
从上面可以看到1成功,0失败,此外,会有一个命令行的窗口,输出如下所示的程序执行的结果。