C# 程序的常规结构

C# 程序可由一个或多个文件组成。每个文件都可以包含零个或零个以上的命名空间。一个命名空间除了可包含其他命名空间外,还可包含类、结构、接口、枚举、委托等类型。以下是 C# 程序的主干,它包含所有这些元素。

 

//引用其他命名空间
using System;
//当前命名空间
namespace YourNamespace
{
    
//
    class YourClass
    {
    }
    
    
//结构
    struct YourStruct
    {
    }

    
//接口
    interface IYourInterface
    {
    }

    
//委托
    delegate int YourDelegate();

    
//枚举
    enum YourEnum
    {
    }
    
    
//子命名空间
    namespace YourNestedNamespace
    {
        
struct YourStruct
        {
        }
    }

    
//主类
    class YourMainClass
    {
        
//Main 方法
        static void Main(string[] args)
        {
            
//Your program starts here
            System.Console.WriteLine("Hello World!");
            System.Console.ReadLine();
        }
    }
}

 

 

Main 方法

C# 程序必须包含一个 Main 方法,程序控制在该方法中开始和结束。在 Main 方法中创建对象和执行其他方法。

Main 方法是驻留在类或结构内的静态方法。在前面的“Hello World!”示例中,它驻留在名为 YourMainClass 的类中。用下列方式之一声明 Main 方法:

  • 该方式返回 void:
    static void Main()
    {
        
    //
    }
  • 它还可以返回 int:
    static int Main()
    {
        
    //
        return 0;
    }
  •  由于有这两个返回类型,它可以带有参数:
    static void Main(string[] args)
    {
        
    //
    }

    或者

    static int Main(string[] args)
    {
        
    //
        return 0;
    }

    Main 方法的参数是 string 数组,该数组表示用于激活程序的命令行参数。请注意,不像 C++,该数组不包含可执行 (exe) 文件名。

    • Main 方法是程序的入口点,程序控制在该方法中开始和结束。

    • 该方法在类或结构的内部声明。它必须为静态方法,而不应为公共方法。(在上面的示例中,它接受默认访问级别 private。)

    • 它可以具有 void 或 int 返回类型。

    • 声明 Main 方法时既可以使用参数,也可以不使用参数。

    • 参数可以作为从零开始索引的命令行参数来读取。

    • 与 C 和 C++ 不同,程序的名称不会被当作第一个命令行参数。

  • 有关使用命令行参数的更多信息,请参见 Main() 和命令行参数(C# 编程指南)如何:创建和使用 C# DLL(C# 编程指南)中的示例。

输入和输出

C# 程序通常使用 .NET Framework 的运行时库提供的输入/输出服务。语句 System.Console.WriteLine("Hello World!"); 使用了 WriteLine 方法,该方法是运行时库中的 Console 类的输出方法之一。它显示了标准输出流使用的字符串参数,输出流后面跟一个新行。其他 Console 方法用于不同的输入Console.ReadLine()和输出Console.WriteLine("Hello World!")操作。如果程序开始处包含 using System; 指令,则无需完全限定 System 类和方法即可直接使用它们。例如,您可以改为调用 Console.WriteLine,而不必指定 System.Console.Writeline

posted @ 2009-08-11 11:57  幽灵湖  阅读(328)  评论(0编辑  收藏  举报