溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Console.WriteLine占位符的小知識(shí)點(diǎn)

發(fā)布時(shí)間:2020-06-21 13:45:52 來(lái)源:網(wǎng)絡(luò) 閱讀:2306 作者:lastammo 欄目:編程語(yǔ)言

Console.WriteLine方法應(yīng)該是很多初學(xué)者接觸的一個(gè)方法了。在該方法的幫助下,你可以很輕松的完成你的第一個(gè)C#控制臺(tái)應(yīng)用程序:Hello World!

            

Console.WriteLine占位符的小知識(shí)點(diǎn)

而實(shí)際上Console.WriteLine方法有19個(gè)重載。只傳一個(gè)字符串只是其中一個(gè)用法。

Console.WriteLine占位符的小知識(shí)點(diǎn) 

這些重載不是我今天想討論的重點(diǎn)。我想說(shuō)說(shuō)該方法中占位符使用。

你很可能知道下面的用法:

              int a = 5;
            Console.WriteLine("The value of a is {0}.",a);

輸出的結(jié)果為:

           The value of a is 5.

在這里{0}是一個(gè)占位符。大括號(hào)內(nèi)的數(shù)字是后面參數(shù)列表的索引(索引從0開(kāi)始)。

嘗試一下下面的代碼:

            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

可以看到即便你寫(xiě)出了一個(gè)參數(shù)(如b),是否輸出時(shí)無(wú)關(guān)緊要的。對(duì)上面的代碼在做一些改動(dòng),如下:

            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é)果可以得出當(dāng)你的參數(shù)位置確定之后,其索引也是確定的。{2}對(duì)應(yīng)的就是C的值,而{0}對(duì)應(yīng)永遠(yuǎn)是第一個(gè)參數(shù)(在此為a),而與你在字符串中對(duì)應(yīng)占位符的位置是沒(méi)有關(guān)系的。大括號(hào)中的索引選中了那個(gè)參數(shù),輸出的就是哪個(gè)參數(shù)。

再次改動(dòng)上面的代碼:

int a = 5;
int b = 6;
int c = 7;
Console.WriteLine("The value is {3}", a, b, c);
Console.ReadKey();

編譯,成功。然后運(yùn)行,報(bào)了異常:

 

Console.WriteLine占位符的小知識(shí)點(diǎn)

    查看異常信息:

         索引(從零開(kāi)始)必須大于或等于0,且小于參數(shù)列表的大小。

   什么意思?就是說(shuō),大括號(hào)內(nèi)的索引都是從零開(kāi)始計(jì)數(shù)的,它是在0和參數(shù)個(gè)數(shù)的值之間取值的。所以無(wú)論你在大括號(hào)內(nèi)寫(xiě)小于0的索引,或超出參數(shù)個(gè)數(shù)的索引,都會(huì)拋出一個(gè)FormatException的異常。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI