使用string.Format(“{0:00}”格式化字符串

时间:2011-06-15 03:03:57

标签: c# .net string .net-4.0 string-formatting

我刚接管了一些代码,我发现这很常用了。它似乎取整数并创建一个看起来像“01”,“02”等的字符串。

我不确定的是这里使用的惯例。为什么格式为{0:00}而非{00}

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

3 个答案:

答案 0 :(得分:43)

第一个0是占位符,表示第一个参数。 00是一种实际格式。

例如它可能是这样的:

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

result将为05 - 06。所以第一个0表示取第一个参数5,而1表示取参数6。

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

答案 1 :(得分: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); 

答案 2 :(得分:3)

格式字符串0中的前导{0:00}表示此格式化程序规范的索引String.Format的MSDN文档说明了索引...

  

index:要格式化的对象的参数列表中从零开始的位置。