2011-06-20 35 views
0

我的应用程序中有一行代码将一些字符串值写入XmlElement,并使用字符串格式化应用一些填充。为什么string.format(“{0:-10}”)在不同的PC上发出不同的结果

string.Format("{0:-10}{1:-10}{2:-10}", i.Department, i.Category, i.Item) 

这个结果应该是一个带有部门,类别和项目值的30个字符的字符串。

因此,这适用于我们的服务器,但不是在我的本地机器上。什么会导致它停止工作?

+1

这是什么显示在您的本地PC?区域设置是否有所不同?什么是部门,类别和项目?纯字符串? –

+2

你可以发布预期的和观察到的输出吗? –

+3

您的格式字符串错误;为了指定填充你使用',',而不是':',所以我假设你的意思是''{0,-10} {1,-10} {2,-10}“'。 – Sven

回答

5

使用,而不是: - 这是正确的语法:

string.Format("{0,-10}{1,-10}{2,-10}", i.Department, i.Category, i.Item) 
+0

完美的谢谢。奇怪的是,它之前的工作。 – dkarzon

0

这些方法在任何环境下安全地工作。

string.Format("{0}:-10{1}:-10{2}:-10", i.Department, i.Category, i.Item, ":-") 

OR

string.Format("{0}{3}{1}{3}{2}{3}", i.Department, i.Category, i.Item, ":-10") 

如果你打算做填充如下做。有关填充格式的更多详细信息,请参阅here

string.Format("{0}{3,-10}{1}{3,-10}{2} {3,-10}", i.Department, i.Category, i.Item, ":") 
相关问题