Console.WriteLine方法應該是很多初學者接觸的一個方法了。在該方法的幫助下,你可以很輕松的完成你的第一個C#控制臺應用程序:Hello World!
而實際上Console.WriteLine方法有19個重載。只傳一個字符串只是其中一個用法。
這些重載不是我今天想討論的重點。我想說說該方法中占位符使用。
你很可能知道下面的用法:
int a = 5;
Console.WriteLine("The value of a is {0}.",a);
輸出的結果為:
The value of a is 5.
在這里{0}是一個占位符。大括號內的數字是后面參數列表的索引(索引從0開始)。
嘗試一下下面的代碼:
int a = 5;
int b = 6;
int c = 7;
Console.WriteLine("The value is {0} {2}", a, b, c);
Console.ReadKey();
輸出結果是:
The value of a is 5 7
可以看到即便你寫出了一個參數(如b),是否輸出時無關緊要的。對上面的代碼在做一些改動,如下:
int a = 5;
int b = 6;
int c = 7;
Console.WriteLine("The value is {2}{1}{2}{0}{2}", a, b, c);
Console.ReadKey();
輸出結果為:
The value is 76757
由此結果可以得出當你的參數位置確定之后,其索引也是確定的。{2}對應的就是C的值,而{0}對應永遠是第一個參數(在此為a),而與你在字符串中對應占位符的位置是沒有關系的。大括號中的索引選中了那個參數,輸出的就是哪個參數。
再次改動上面的代碼:
int a = 5;
int b = 6;
int c = 7;
Console.WriteLine("The value is {3}", a, b, c);
Console.ReadKey();
編譯,成功。然后運行,報了異常:
查看異常信息:
索引(從零開始)必須大于或等于0,且小于參數列表的大小。
什么意思?就是說,大括號內的索引都是從零開始計數的,它是在0和參數個數的值之間取值的。所以無論你在大括號內寫小于0的索引,或超出參數個數的索引,都會拋出一個FormatException的異常。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。