1.3.4 C#应用程序文件的结构
通过前面几个项目的练习,我们基本能够了解到,无论是C#控制台应用程序还是C#窗体应用程序,其项目文件的主要组成都是类型为Visual C# Source file的文件,简称.cs结尾的文件。这些文件是C#的源代码文件,都是一个类文件。下面以一个C#控制台应用程序(ConsoleApplication1)中Progess.cs文件的代码为例,了解其代码行的主要组成部分。
1.导入其他系统预定义元素部分
高级程序设计语言总是依赖许多系统预定义元素,为了在C#程序中能够使用这些预定义元素,需要对这些元素进行导入。导入其他系统预定义元素部分,通俗地讲就是引用其他命名空间:
在实际的开发过程中,经常需要引用其他系统外的命名空间,那么就要使用using关键字添加。例如,如果要引用一个已编译好的计算器类文件,它的命名空间是“计算器”,需要在CS文件using代码部分添加:
using计算器;
这样在编写代码时可以引用“计算器”这个命名空间的类来创建对象等操作。
2.命名空间
使用关键字namespace和命名空间标识符(命名空间名称)来构建用户命名空间,命名空间的范围用一对花括号限定:
命名空间是对类的一种划分,类似于目录和文件的划分形式;是一种逻辑划分,而非物理上的存储分类。在命名空间中,可以再声明类、接口、结构、枚举、委托、命名空间等。为了更好地组织这些名称,.NET允许命名空间的嵌套定义,即命名空间中又可以声明命名空间,各命名空间用“.”间隔。
命名空间就如同平时创建的文件夹(不同的文件夹内可以有一样的文件名),同名的两个类如果不在同一个命名空间中是不会发生冲突的。在以后的学习中,我们会明白微软在.NET中引入了命名空间,就是为了避免项目中有相同的类名从而导致项目执行失败。
命名空间的名称默认和它所对应的项目名称相同,但如果项目名称以数字开始命名,或者项目名称中出现小括号对()、空格等信息时,命名空间的名称会把这些符号替代为下画线。例如上面的namespace Hello_World_,其实对应的项目名称为“Hello World!”;再如,一个项目被命名为“C Sharp项目(5道题)”,那么会发现对应的命名空间是“C_Sharp项目_5道题_”。进行编程工作的过程中,最好在创建命名空间的名称时应使用以下原则:“公司名称.技术名称”。命名空间的名称随着项目的创建而自动获得,一般不得随意更改。
3.类
类必须包含在某个命名空间中(如namespace Hello_World_),使用类关键字class和类标识符(类的名称,默认为Program)构建类,类的范围使用一对大括号{}限定:
4.主方法
每个应用程序都有一个执行的入口,指明程序执行的开始点。C#应用程序中的入口点为Main()主方法数,Main后面的括号中即使没有参数也不能省略。一个C#应用程序必须有而且只能有一个Main()主方法,如果一个应用程序仅由一个方法构成,这个方法的名字就只能为Main()。Main()方法用一对花括号限定自己的区域,如下所示:
在以后的学习中,会看到Main()方法必须声明为static或者public static,返回值只能是void或者int,并且它可以放在任何一个类中。
5.在方法的花括号中输入C#代码
C#的代码要在所有方法的花括号中输入才能实现相应的功能。例如,【例1-1】创建的C#控制台应用程序,要实现的功能是输出一条“欢迎语句”,具体过程是:使用Console.Write()函数在控制台屏幕上显示一行“Hello!欢迎学习C#控制台应用程序的开发.”的信息,并使用Console.ReadLine()函数保持程序不会自动退出调试环境。方法的完整形式示例如下: