2013-06-01 188 views
4

我一直在環顧四周,但很難找到這個問題的答案,因爲我正在尋找的東西是非特定的。大括號中的數字是什麼「{0}」是什麼意思?

我見過很多代碼,其中使用了{0},我仍然無法弄清楚它在做什麼。這裏有一個例子:

Dim literal As String = "CatDogFence" 
Dim substring As String = literal.Substring(6) 
Console.WriteLine("Substring: {0}", substring) 

回答

4
Console.WriteLine("Substring: {0}", substring) 

相同

Console.WriteLine("Substring: " & substring) 

當使用Console.WriteLine{n}將插入n日數爲字符串,然後把它寫。

更復雜的例子可以看這裏:

Console.WriteLine("{0} {1}{2}", "Stack", "Over", "flow") 

這將打印Stack Overflow

+0

啊,這很有道理,謝謝!雖然我不得不問,爲什麼你編輯了關於在StackOverflow上打招呼的問題,因爲我對於爲什麼這是一個問題有點神祕。 :P – Lou

+0

@LeoKing不客氣:)在Stack Overflow中,我們不想在問題中問候和「感謝」,他們只是分散注意力。 (閱讀更多[這裏](http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be-removed-from-posts)) – Doorknob

+0

嗯,這很有趣。似乎在這個環節頗有爭議。我個人看不出有什麼問題,因爲我討厭在任何網站上看起來太苛刻和瑣碎,但如果社區要這樣做,我不會成爲一個混蛋! – Lou

1

這是一個佔位符。從第二個參數開始(在你的情況下是子字符串),它們以給定的順序包含在給定的字符串中。這樣,您可以避免使用+運算符進行長字符串連接,並且可以更輕鬆地進行語言本地化,因爲您可以將包括佔位符在內的競爭字符串拉到某些外部資源文件等。

+0

哦我看,這真的很酷!謝謝! – Lou

2

Console.WriteLine()和String.Format()use該語法。 它允許你給一個變量注入到一個字符串,例如:

dim name = "james" 
String.Format("Hello {0}", name) 

該字符串將是 「你好詹姆斯」

使用Console.Writeline:

Console.WriteLine("Hello {0}",name) 

這將寫入「你好詹姆斯「

+0

謝謝,這使得很多感覺:)。 – Lou

0

它被稱爲複合格式,並支持許多方法,Console.WriteLine是一個。除了索引佔位符,還有其他功能可用。以下是顯示覆合格式的一些其他功能的文檔鏈接。

Composite Formatting