第二節:讀取命令行輸入
許多程序可以接受命令行輸入,下面的程序就是接受命令行的輸入後,再把它打印到控制台屏幕上。
程序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!