2011-06-15 128 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);