Console.WriteLine方法應該是很多初學者接觸的一個方法了。在該方法的幫助下,你可以很輕松的完成你的第一個C#控制臺應用程序:Hello World!
公司主營業(yè)務:成都做網(wǎng)站、成都網(wǎng)站建設、成都外貿(mào)網(wǎng)站建設、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出衡南免費做網(wǎng)站回饋大家。
而實際上Console.WriteLine方法有19個重載。只傳一個字符串只是其中一個用法。
這些重載不是我今天想討論的重點。我想說說該方法中占位符使用。
你很可能知道下面的用法:
int a = 5;
Console.WriteLine("The value of a is {0}.",a);
輸出的結(jié)果為:
The value of a is 5.
在這里{0}是一個占位符。大括號內(nèi)的數(shù)字是后面參數(shù)列表的索引(索引從0開始)。
嘗試一下下面的代碼:
int a = 5;
int b = 6;
int c = 7;
Console.WriteLine("The value is {0} {2}", a, b, c);
Console.ReadKey();
輸出結(jié)果是:
The value of a is 5 7
可以看到即便你寫出了一個參數(shù)(如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();
輸出結(jié)果為:
The value is 76757
由此結(jié)果可以得出當你的參數(shù)位置確定之后,其索引也是確定的。{2}對應的就是C的值,而{0}對應永遠是第一個參數(shù)(在此為a),而與你在字符串中對應占位符的位置是沒有關系的。大括號中的索引選中了那個參數(shù),輸出的就是哪個參數(shù)。
再次改動上面的代碼:
int a = 5;
int b = 6;
int c = 7;
Console.WriteLine("The value is {3}", a, b, c);
Console.ReadKey();
編譯,成功。然后運行,報了異常:
查看異常信息:
索引(從零開始)必須大于或等于0,且小于參數(shù)列表的大小。
什么意思?就是說,大括號內(nèi)的索引都是從零開始計數(shù)的,它是在0和參數(shù)個數(shù)的值之間取值的。所以無論你在大括號內(nèi)寫小于0的索引,或超出參數(shù)個數(shù)的索引,都會拋出一個FormatException的異常。