【发布时间】:2011-06-15 03:03:57
【问题描述】:
我刚刚接手了一些代码,我看到它被大量使用。它似乎采用整数并创建一个看起来像“01”、“02”等的字符串。
我不确定的是这里使用的约定。为什么格式是{0:00} 而不是{00}?
string.Format("{0:00}", int.Parse(testVal) + 1);
【问题讨论】:
标签: c# .net string .net-4.0 string-formatting
我刚刚接手了一些代码,我看到它被大量使用。它似乎采用整数并创建一个看起来像“01”、“02”等的字符串。
我不确定的是这里使用的约定。为什么格式是{0:00} 而不是{00}?
string.Format("{0:00}", int.Parse(testVal) + 1);
【问题讨论】:
标签: c# .net string .net-4.0 string-formatting
第一个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。
【讨论】:
下一行中的第一个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 文档对索引有这样的说法...
索引:要格式化的对象在参数列表中从零开始的位置。
【讨论】: