2011-08-13 52 views
4

我GOOGLE了这一点,但VB.Net(2008)似乎并没有允许插入格式化字符的String.Format(如\ t,\ r \ n。):在String.Format中插入格式化字符?

'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")) 

是否有更简单方法来建立一个格式化的字符串,必须包含格式化字符?

回答

9

“易”大概是情人眼里出西施,但这里是一个不同的方式:

MessageBox.Show(String.Join(vbTab, {"Foo", "Bar"})) 

我也想出了这一点:

MessageBox.Show(String.Format("{0}\t{1}\t{2}", "Foo", "Bar", "Test").Replace("\t", vbTab)) 
2

使用vbTab工作正常(和vbCrLf等也)。

\ t \ n等为FIOR C,不是VB

{标签}是的SendKeys

我断定一个代码,你的第3行是(只)的工作方法,除非像这样

MessageBox.Show("Foo" & vbTab & "Bar")

是可能的:它更容易我猜。

2

我想另一种选择是:

String.Format("{1}{0}{2}{0}{3}{0}{4}", vbTab, "Foo", "Bar", "was", "here") 

不是最可读的,但比& vbTab &更好。

相关问题