您的位置: 网站首页 > 程序开发 > C#程序设计 > 第2章 C#程序设计基础 > 【2.5 程序的结构】

2.5 程序的结构

 

2.5  程序的结构

程序是由大量的代码构成的,当代码量较大时,便需要使用一些方法对程序进行处理,使其从便于维护的角度进行重组。本节从维护程序的结构这一角度简单地介绍类、命名空间的用法,并介绍程序的入口函数。

2.5.1  用类搭建程序

类是面向对象理论中重要的概念,在后面章节中还会具体讨论类的用法。此处从维护程序结构的角度介绍类的使用方法。

当代码量较大时,代码的功能将会出现分离。如整个程序的代码从功能上看可以分为几个部分,这时便可以用类来重组代码。通过对代码的重新整理,使功能比较相关的代码处于一个类中。在C#中,类的定义是通过class进行的,如下的代码便声明了一个简单的类:

class MyClass

{

    //类的具体代码

}

前面所介绍的实例中都是由Visual Studio 2005自动地创建了一个Program.cs文件。在这个文件里包含一个Program类。该类中包含了一个Main方法,我们所创建的代码都是Main方法之内的代码。

可以在该Program.cs文件里创建另外一个类,包含一部分相关的代码,其大体布局应如下面的代码段所示:

class Program

{

    //类的具体代码

}

 

class MyClass

{

    //类的具体代码

}

2.5.2  使用命名空间

命名空间与类相比,可以进行更高层次的代码整合。一个命名空间中可以包含若干个类,对命名空间中的类进行访问时,可以使用命名空间加“.”加类名的方法进行访问。这样就可以将程序划分为几个命名空间,每个命名空间中将代码划分为几个不同的类,这样就可以很好地进行代码安排。

命名空间的定义通过关键字namespace进行,如下的代码定义了一个命名空间:

namespace MyNameSpace

{

    //命名空间的具体代码

}

可以在命名空间中包含不同的类,下面的代码段演示了这种用法。

namespace MyNameSpace

{

    class MyClass1

    {

        //类的具体代码

    }

 

    class MyClass2

    {

        //类的具体代码

    }

}

当在命名空间内部访问具体的类时,只需使用类名即可。若在该命名空间外部的代码中访问上述两个类,则需要使用其全名,如MyNameSpace.MyClass1

2.5.3  寻找程序的入口

C#中,程序的入口即Main方法。在前面的程序中,每个程序都包含一个Main方法,该方法是程序运行时,首先执行的方法。若前面的程序中再添加一个Main方法,则编译时Visual Studio 2005将给出错误提示,因此必须特别注意。

Main方法支持参数的使用,该参数由Main方法的参数和args实现。args是一个字符串数组,在Main方法的功能代码中可以对其进行处理。下面介绍一个实例,演示args参数的使用方法。

1.目的说明

创建一个Windows控制台应用程序,演示C#Main方法参数的使用方法

2.实现步骤

1)启动Visual Studio 2005

2)选择“文件”→“新建”→“项目”命令,打开“新建项目”对话框。

3)在“项目类型”树形列表中选择Visual C#Windows选项后,在“模板”列表中选择“控制台应用程序”选项。

4)在“名称”文本框中输入项目的名称,此处为“EntryPoint”。

5)单击“确定”按钮,创建项目。

6Visual 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]);

    }

}

3.运行结果

Ctrl+F5组合键运行程序,运行结果如图2-24所示。

4.代码分析

从运行结果可以看出,由于没有给程序任何参数的输入,因此显式参数的个数是0个。选择“项目”→“EntryPoint属性”命令中的“调试”选项卡,在“参数”文本框中输入几个参数,如“a b c d e ”,再次执行程序,如图2-25所示。

            

2-24  运行结果1                              2-25  运行结果2

可以看到,程序正确地识别了输入的参数,将所有的参数输出,并统计了参数的个数。代码中args.Length可以给出参数的长度,本例中为5个,而args[i]则可以访问第i个参数。