程序是由大量的代码构成的,当代码量较大时,便需要使用一些方法对程序进行处理,使其从便于维护的角度进行重组。本节从维护程序的结构这一角度简单地介绍类、命名空间的用法,并介绍程序的入口函数。
类是面向对象理论中重要的概念,在后面章节中还会具体讨论类的用法。此处从维护程序结构的角度介绍类的使用方法。
当代码量较大时,代码的功能将会出现分离。如整个程序的代码从功能上看可以分为几个部分,这时便可以用类来重组代码。通过对代码的重新整理,使功能比较相关的代码处于一个类中。在C#中,类的定义是通过class进行的,如下的代码便声明了一个简单的类:
class MyClass
{
//类的具体代码
}
前面所介绍的实例中都是由Visual Studio 2005自动地创建了一个Program.cs文件。在这个文件里包含一个Program类。该类中包含了一个Main方法,我们所创建的代码都是Main方法之内的代码。
可以在该Program.cs文件里创建另外一个类,包含一部分相关的代码,其大体布局应如下面的代码段所示:
class Program
{
//类的具体代码
}
class MyClass
{
//类的具体代码
}
命名空间与类相比,可以进行更高层次的代码整合。一个命名空间中可以包含若干个类,对命名空间中的类进行访问时,可以使用命名空间加“.”加类名的方法进行访问。这样就可以将程序划分为几个命名空间,每个命名空间中将代码划分为几个不同的类,这样就可以很好地进行代码安排。
命名空间的定义通过关键字namespace进行,如下的代码定义了一个命名空间:
namespace MyNameSpace
{
//命名空间的具体代码
}
可以在命名空间中包含不同的类,下面的代码段演示了这种用法。
namespace MyNameSpace
{
class MyClass1
{
//类的具体代码
}
class MyClass2
{
//类的具体代码
}
}
当在命名空间内部访问具体的类时,只需使用类名即可。若在该命名空间外部的代码中访问上述两个类,则需要使用其全名,如MyNameSpace.MyClass1。
在C#中,程序的入口即Main方法。在前面的程序中,每个程序都包含一个Main方法,该方法是程序运行时,首先执行的方法。若在前面的程序中再添加一个Main方法,则编译时Visual Studio 2005将给出错误提示,因此必须特别注意。
Main方法支持参数的使用,该参数由Main方法的参数和args实现。args是一个字符串数组,在Main方法的功能代码中可以对其进行处理。下面介绍一个实例,演示args参数的使用方法。
创建一个Windows控制台应用程序,演示C#中Main方法参数的使用方法。
(1)启动Visual Studio 2005。
(2)选择“文件”→“新建”→“项目”命令,打开“新建项目”对话框。
(3)在“项目类型”树形列表中选择Visual C#→Windows选项后,在“模板”列表中选择“控制台应用程序”选项。
(4)在“名称”文本框中输入项目的名称,此处为“EntryPoint”。
(5)单击“确定”按钮,创建项目。
(6)Visual Studio 2005已经默认添加了几个文件,并自动打开其中的一个文件Pro-
gram.cs。修改该文件中的Main方法内容如下:
static void Main(string[] args)
{
Console.WriteLine("参数的个数为{0}个", args.Length);
for (int i = 0; i < args.Length; i++)
{
Console.WriteLine("第{0}个参数为:{1}", i + 1, args[i]);
}
}
按Ctrl+F5组合键运行程序,运行结果如图2-24所示。
从运行结果可以看出,由于没有给程序任何参数的输入,因此显式参数的个数是0个。选择“项目”→“EntryPoint属性”命令中的“调试”选项卡,在“参数”文本框中输入几个参数,如“a b c d e ”,再次执行程序,如图2-25所示。
图2-24 运行结果1 图2-25 运行结果2
可以看到,程序正确地识别了输入的参数,将所有的参数输出,并统计了参数的个数。代码中args.Length可以给出参数的长度,本例中为5个,而args[i]则可以访问第i个参数。