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"
每个参数都用空格分开。如果参数包含空格,就可以用双引号把参数括起来,这样才不会把这个参数解释为多个参数。