日期:2008-10-01  浏览次数:20493 次

第二节:读取命令行输入

  许多程序可以接受命令行输入,下面的程序就是接受命令行的输
入后,再把它打印到控制台屏幕上。


程序1-2:NamedWelcome.cs

// Namespace Declaration

using System;


// Program start class

class NamedWelcome {


// Main begins program execution.

public static void Main(string[] args) {


// Write to console

Console.WriteLine("Hello, {0}!", args[0]);

Console.WriteLine("Welcome to the C# Station Tutorial!");


}

}


  把程序编译为NamedWelcome.exe ,在命令行输
入"NamedWelcome Joe"。一定要在程序名后加上人名或者其它什么,
否则程序会出错。以后我们会讨论如何检测和避免这样的错误。


  在程序1-2中,你可以看到"Main"方法的参数列表里有一个参
数,名字是"args",也就是下面的程序会用到的参数。"string[]"的
作用则是定义参数的数据类型为字符串类型,可容纳一或多个字符。
而方括号"[]"表示"string[]"是一个数组,可以容纳多个参数。因
此,参数可以是来自命令行的一个或多个参数。


  你会注意到Console.WriteLine("Hello, {0}!", args[0]);这一
行程序。这行程序和上一个不同,在引号里面多了一个参数"{0}"。
在WriteLine语句中参数是表示方法这样的,第一个参数的格式
是"{0}",第二个则是"{1}",以此类推。在这里"{0}"表示由结束引
号之后的参数"args[0]"来决定"{0}"处的内容。根据这个思想,我们
来看看结束引号内容之后的参数"args[0]"。

  


  "args[0]"参数是指"args"数组中的第一个元素,第二个元素就
是"args[1]",以此类推。比如说,我在命令行模式下输
入"NamedWelcome Joe","args[0]"的值就是"Joe"


  现在我们再看这句代码:Console.WriteLine("Hello, {0}!",
args[0]); ,在执行过程中,"{0}"将被参数"args[0]"中的值代替,
和前面的"Hello,"一起输出到屏幕上。因此当我们执行程序时输
入"NamedWelcome Joe"时,将会输出以下内容:


>Hello, Joe!

>Welcome to the C# Station Tutorial!