我正在使用VB.NET和String.Format。
下面的代码行用20个空格字符填充s。问题是我不知道它是如何工作的,也无法找到解释。参考:MSDN String.Format Method。
Dim s As String = String.Format("{0, 20}", String.Empty)
它给了我需要的结果,一个填充了20个空格字符的字符串,但是什么是" 0"?如果我将其更改为任何其他num,则会产生错误。
而且我不知道它在哪里/如何指定Space char?
答案 0 :(得分:4)
格式说明符{0, 20}
表示它会将对象string.Empty
作为元素{0}
放在空的20个字符串的末尾。我的意思是你的项目将用于填充20个字符串的右侧,其余部分将被填充。由于您正在使用string.Empty
,因此您将获得一个完全空白的字符串。尝试添加z并将数字更改为负数。
string.Format("{0, -10}", "z");
这应该为您提供一个以z开头并填充空格的10个字符的字符串。这是string.Format
的默认行为,在格式化自定义数字时最常用。该空间不需要作为命令的一部分包含在内,因为您的说明符指示您需要20个字符的结果字符串这一事实可以预期。空格似乎是最合乎逻辑的插入默认字符。
如果您使用复杂的字符串,请执行以下操作:
string.Format("{0, 10}", "abc");
你仍然应该得到一个10个字符的字符串,但它看起来像
" abc"
答案 1 :(得分:1)
第一个参数中的0
是参数的索引。
该方法的签名为String.Format(string format, object[] params)
。
所以"{0, 20}"
是要格式化的字符串,其他所有内容都变成了一个对象数组。
答案 2 :(得分:1)
零是您要发送的参数的索引,在您的情况下为String.Empty