我用Google搜索,但VB.Net(2008)似乎不允许在String.Format中插入格式化字符(例如。\ t,\ r \ n):
'BAD MessageBox.Show(String.Format("{0}{tab}{1}", "Foo", "Bar"))
'BAD MessageBox.Show(String.Format("{0}\t{1}", "Foo", "Bar"))
MessageBox.Show(String.Format("{0}" & vbTab & "{1}", "Foo", "Bar"))
是否有更简单的方法来构建必须包含格式字符的格式化字符串?
答案 0 :(得分:11)
“更容易”可能是旁观者的眼睛,但这是一种不同的方式:
MessageBox.Show(String.Join(vbTab, {"Foo", "Bar"}))
我也想到了这个:
MessageBox.Show(String.Format("{0}\t{1}\t{2}", "Foo", "Bar", "Test").Replace("\t", vbTab))
答案 1 :(得分:2)
使用vbTab工作正常(还有vbCrLf等)。
\ t \ n等是fior C,而不是VB
{tab}是SendKeys的代码
我得出结论,你的第3行是(唯一的)工作方法,除非像这样
MessageBox.Show("Foo" & vbTab & "Bar")
是可能的:我猜它更容易。
答案 2 :(得分:2)
我想另一种选择是:
String.Format("{1}{0}{2}{0}{3}{0}{4}", vbTab, "Foo", "Bar", "was", "here")
不是最具可读性,但优于& vbTab &
。