我正在尝试构建一些排列良好的字符串,但格式化方式并不像我期望的那样。
如果我有:
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
,结果相同。许多互联网搜索只显示与我的相似的代码,所以我不确定什么不起作用。
编辑:修正拼写错误
答案 0 :(得分:1)
我怀疑问题是显示而不是字符串本身。这些对齐仅在字体为等宽字体时才有效。等宽字体是每个字符宽度相同的字体。 Windows,Office,Visual Studio提供了其中一些。许多人认为“Consolas”是最好的。
我建议您将显示数据的控件的字体更改为Consolas。