C#入门经典(第7版):C# 6.0 & Visual Studio 2015(.NET开发经典名著)
上QQ阅读APP看书,第一时间看更新

6.3 Main()函数

前面介绍了创建和使用函数时涉及的大多数简单技术,下面详细论述Main()函数。

Main()是C#应用程序的入口点,执行这个函数就是执行应用程序。也就是说,在执行过程开始时,会执行Main()函数,在Main()函数执行完毕时,执行过程就结束了。

这个函数可以返回void或int,有一个可选参数string[] args。Main()函数可使用如下4种版本:

        static void Main()
        static void Main(string[] args)
        static int Main()
        static int Main(string[] args)

上面的第3和第4个版本返回一个int值,它们可以用于表示应用程序的终止方式,通常用作一种错误提示(但这不是强制的)。一般情况下,返回0反映了“正常”的终止(即应用程序已经执行完毕,并安全地终止)。

Main()的可选参数args是从应用程序的外部接受信息的方法,这些信息在运行应用程序时以命令行参数的形式指定。

在执行控制台应用程序时,指定的任何命令行参数都放在这个args数组中,接着可以根据需要在应用程序中使用这些参数。下面用一个示例来说明。这个示例可以指定任意数量的命令行参数,每个参数都被输出到控制台。

试一试:命令行参数:Ch06Ex04\Program.cs

(1)在C:\BegVCSharp\Chapter06目录中创建一个新的控制台应用程序Ch06Ex04。

(2)把下列代码添加到Program.cs中:

        class Program
        {
          static void Main(string[] args)
          {
              WriteLine($"{args.Length} command line arguments were specified:");
              foreach (string arg in args)
                WriteLine(arg);
              ReadKey();
          }
        }

(3)打开项目的属性页面(在Solution Explorer窗口中右击Ch06Ex04项目名称,然后选择Properties选项)。

(4)选择Debug页面,在Command line arguments设置中添加所希望的命令行参数,如图6-7所示。

图6-7

(5)运行应用程序,输出结果如图6-8所示。

图6-8

示例说明

这里使用的代码非常简单:

        WriteLine($"{args.Length} command line arguments were specified:");
        foreach (string arg in args)
          WriteLine(arg);

使用args参数与使用其他字符串数组类似。我们没有对参数进行任何异样的操作,只是把指定信息写到屏幕上。在本例中,通过IDE中的项目属性提供参数,这是一种便捷方式,只要在IDE中运行应用程序,就可以使用相同的命令行参数,不必每次都在命令行提示窗口中键入它们。在项目输出所在的目录(C:\BegCSharp\Chapter06\Ch06Ex04\Ch06Ex04\bin\Debug)下打开命令提示窗口,键入下述代码,也可以得到同样的结果:

        Ch06Ex04 256 myFile.txt "a longer argument"

每个参数都用空格分开。如果参数包含空格,就可以用双引号把参数括起来,这样才不会把这个参数解释为多个参数。