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)
上面的第三、四个版本返回一个 int
值,它们可以用于表示应用程序的终止方式,通常用作一种错误提示(但这不是强制的)。一般情况下,返回 0 反映了 “正常” 的终止(即应用程序执行完毕,并安全地终止)。
Main()
的可选参数 args
是从应用程序的外部接受信息的方法,这些信息在运行应用程序时以命令行参数的形式指定。
前面已经遇到了命令行参数,在命令行上执行应用程序时,通常可以直接指定信息,如在执行应用程序时加载一个文件。例如,考虑 Windows
中的记事本应用程序。在命令提示窗口中键入 notepad
,或在 Windows
的 Start
菜单中选择 Run
选项,再在打开的窗口中键入 notepad
,就可以运行该应用程序。也可以键入 notepad "myfile.txt"
,结果是 Notepad
在运行时将加载文件 myfile.txt
,结果是 Notepad
在运行时将加载文件 myfile.txt
,如果该文件不存在,Notepad
也会创建该文件。这里 myfile.txt
是一个命令行参数。利用 args
参数,可以编写以类似方式工作的控制台应用程序。
在执行控制台应用程序时,指定的任何命令行参数都放在这个args
数组中,接着可以根据需要在应用程序中使用这些参数。下面用一个示例来说明。这个示例可以指定任意数量的命令行参数,每个参数都输出到控制台上。把下列代码添加到Program.cs
中:
class Program
{
static void Main(string[] args)
{
Console.WriteLine("{0} command line arguments were specified:", args.Length);
foreach (string arg in args)
{
Console.WriteLine(arg);
}
}
}
打开项目(HelloWorld)的属性页面,选择调试
页面,在命令行参数
设置中添加所希望的命令行参数,如图 6-7 所示
。图 6-7
示例的说明 这里使用的代码非常简单:
Console.WriteLine("{0} command line arguments were specified:", args.Length);
foreach (string arg in args)
Console.WriteLine(arg);
使用args
参数与使用其他字符串数组类似。我们没有对参数进行任何异样的操作,只是把指定信息写到屏幕上。在本示例中,通过IDE中的项目属性提供参数,这是一种很便携的方式,只要在IDE中运行应用程序,就可以使用相同的命令行参数,无需每次都在命令行提示窗口中键入它们。在项目输出所在的目录下打开命令提示窗口,键入下述代码,也可以得到同样的结果:
HelloWorld 256 myFile.txt "a longer argument"
每个参数都用空格分开。如果参数包含空格,就可以用双引号把参数括起来,这样才不会把这个参数解释为多个参数。