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

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

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

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

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

例如,它可能是这样的:

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

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

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

以下行中的第一个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); 

格式字符串{0:00}的前导0表示此格式化程序规范的索引String.Format的MSDN文档有关于索引的说法……

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