我个人的偏好是x.ToString()
,因为它的字母略少。这两个人有什么好处吗?
.ToString("D")
的要点是它允许您指定前面的位数。
例如,
var i = 123;
var stringed = i.ToString("D5");//stringed = 00123
看看这里的"D"到底是什么意思:
https://learn.microsoft.com/en-us/dotnet/standard/base-types/standard-numeric-format-strings
">D"或"d"十进制结果:带有可选负号的整数数字。
支持:仅限整型。
精度说明符:最小位数。
默认精度说明符:所需的最小位数。
详细信息:十进制("D"(格式说明符。
1234年("D"( -> 1234
年-1234 ("D6"( -> -001234
因此,根据您要查找的输出的格式,这就是不同格式(或精度(说明符可以帮助决定输出的内容。
来自Microsoft文档:
若要将 Int32 值格式化为没有前导零的整数字符串,可以调用无参数 ToString(( 方法。通过使用"D"格式说明符,还可以在字符串表示形式中包含指定数量的前导零。
看起来没有数字的"D"
是Int32.ToString()
默认使用的。
然后,两者之间的输出没有差异。
看看这篇文章
"D"(或十进制(格式说明符将数字转换为 十进制数字 (0-9(,如果数字为 阴性。只有整型类型支持此格式。
它显示案例"D"
相同的结果。
但是如果你"Dx"
,它会在你的int
左侧用零填充(x是一个数字(
ToString()
足以让您转换为string