C#字符串格式不对齐

时间:2011-06-10 16:48:00

标签: c# formatting

我正在尝试构建一些排列良好的字符串,但格式化方式并不像我期望的那样。

如果我有:

String.Format("{0,-25}{1,-7}{2,-18}{3,-8}{4,-15}{5,-3}{6,-10}",
              i.Name, "Price: ", i.Price.toString(), "Weight: ",
              i.Weight.toString() + " lbs", "Quantity:",i.Quantity.toString()));

我希望从行的开头开始获取Name(这是一个字符串),然后从字符26开始获取“Price”,依此类推。 (这些名称都不超过10个字符)。相反,第二列遍布整个地方,具体取决于名称的长度。

我也尝试使用StringBuilder,结果相同。许多互联网搜索只显示与我的相似的代码,所以我不确定什么不起作用。

编辑:修正拼写错误

1 个答案:

答案 0 :(得分:1)

我怀疑问题是显示而不是字符串本身。这些对齐仅在字体为等宽字体时才有效。等宽字体是每个字符宽度相同的字体。 Windows,Office,Visual Studio提供了其中一些。许多人认为“Consolas”是最好的。

我建议您将显示数据的控件的字体更改为Consolas。