4.1 C#程序实例
“Hello World”程序是编程语言学习中遇到的第一个程序,本节以“Hello World”程序入手,介绍C#语言的开发过程和程序结构。
4.1.1 第一个C#实例程序
创建一个简单的C#控制台应用程序,其功能是输出“Hello World!”。
在VS2017集成开发环境的“起始页”上,单击“新建项目”超链,打开“新建项目”对话框,如图4-1所示。
在“已安装的模板(Installed)”中选择Visual C#-Windows Desktop,在对话框的中部选择控制台应用程序。输入项目名称为HelloWorld,解决方案名称也会自动修改为相同的名称。选择适当的项目存储“位置(Location)”。按“确定(OK)”按钮,VS2017会自动在指定位置创建解决方案和项目。
项目中已经包含了一个名为Program.cs的文件(.cs是C#源程序文件的扩展名)。该文件已经在工作区中打开,其代码如下。
图4-1 “新建项目”对话框
在static void Main()函数后面的花括号{}中间增加如下3行代码。
按〈F5〉键,或单击快捷工具栏中的“启动调试”按钮,执行程序。
本程序在一个弹出的窗口中显示“Hello World!”,并等待用户输入;用户按〈Enter〉键,程序退出,窗口关闭。
4.1.2 代码分析
现在对上一小节的程序代码做一个简单分析,使读者对C#程序有一个概要的了解。
与C、C++一样,C#是大小写敏感的。
为了使用户编程更加方便,.NET Framework中提供了众多有用的预定义类供用户使用,为了方便这些类的管理和引用,引入了命名空间的概念。例如Console就是一个预定义的用于输入、输出的类,该类在System命名空间中定义。引用该类的原始方法需要使用System.Console;但如果在程序的开头处使用using关键字引用了System命名空间,在程序中就可以直接引用Console类了,这样可以给代码输入带来方便。命名空间是分级管理的,引用时各级之间用圆点(.)隔开。
在程序代码的前4行,分别引用了4个最常用的命名空间。对于本程序而言,其实只引用System命名空间就够了。
在后续的代码中,使用namespace关键字声明了一个与项目同名(HelloWorld)的命名空间,便于组织本项目代码。在HelloWorld命名空间中,又声明了一个名为Program的类。
C#是一个“纯”的面向对象的语言。C#中不再有全局变量和全局函数,任何变量和函数都必须属于一个类,包括程序的主函数Main()。在本例中,Main()就是Program的一个静态方法,在C#程序中,程序的执行总是从Main()方法开始的。一个程序中不允许出现两个或两个以上的Main()方法。
与C、C++一样,程序代码块被包含在花括号{}中。
与C、C++一样,C#也可以使用双斜杠“//”引导的单行注释,或用“/*”和“*/”括起来的多行注释。
在C#中,程序的输入输出功能通过Console类完成。Console是在命名空间System中预定义的一个类。在上述代码中使用了Console类的两个最基本的方法:WriteLine和ReadLine。有关C#的控制台输入和输出,将在4.3.3节进一步介绍。