2011-06-15 127 views
21

我剛剛接管了一些代碼,並且我看到這用了很多,看起來採用整數並創建了一個看起來像「01」,「 02" 等使用string.Format格式化一個字符串(「{0:00}」

什麼我不知道的是這裏使用的約定。爲什麼格式{0:00},而不是{00}

string.Format("{0:00}", int.Parse(testVal) + 1); 

回答

41

第一0是佔位符,意味着第一個參數。 00是一種實際的格式。

例如,它可能是這樣的:

var result = string.Format("{0:00} - {1:00}", 5, 6); 

result05 - 06。所以前面的0表示取第一個參數5,而1表示取參數6.

格式爲{index[,length][:formatString]}。看看String.Format Method

+0

非常感謝您的幫助 – 2011-06-15 03:08:47

+2

@大衛H:如果這回答了你的問題,標誌着一定要標記是公認的答案。 – 2011-06-15 03:14:23

+0

剛剛標記爲接受:-) – 2011-06-15 03:29:42

3

格式字符串{0:00}中的前導0指示此格式化程序規範的索引。對於String.Format MSDN文檔有此說關於指數...

指數:在對象的參數列表從零開始的位置進行格式化。

4

以下行的第一0是你的論點

string.Format("{0:00}", int.Parse(testVal) + 1); 

(int.Parse(testVal) + 1).ToString ("00")將產生同樣的事情的索引。

string.Format支持多重替換這樣的:

string.Format("{0:00} + 1 = {1:00}", int.Parse(testVal), int.Parse(testVal) + 1);