首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >StringReader格式字符串

StringReader格式字符串
EN

Stack Overflow用户
提问于 2011-05-11 06:44:57
回答 1查看 908关注 0票数 0

我跟踪了本Wordpress教程,这是很棒的。我使用了listview,当我尝试格式化字符串时,它不识别\t (但确实识别\n)。它也不会承认String.Format等。

无论如何,我是否可以使用制表符或类似的东西格式化字符串?

干杯

编辑

代码语言:javascript
复制
for( i = 0; i < lstView.Items.Count;i++) 
{ 
    name = lstView.Items[i].Text; 
    state = lstView.Items[i].SubItems[1].Text; 
    country = lstView.Items[i].SubItems[2].Text; 
    line += name + "\t" + state + "\t" + country + "\n"; 
}  
StringReader reader = new StringReader(line); 

当使用行打印时,字符串被连接在一起,这样\t就不能工作了。但是,新行的\n确实有效。有没有人知道我可以在不用空格的情况下格式化字符串。

结果是这样的

NameStateCountry

LongernameStateCountry

anotherNameAnotherStateAnotherCountry

我希望它们排成一行(就像在一个表中),用名字命名一列,说明另一列,然后是国家,然后是第三。

任何建议都非常感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-15 21:28:17

但是另一方面,如果单个字符串元素(名称、状态等)存在问题,则选项卡可能会出现问题。长度不同。

取而代之的是使用string.Format()并使用固定的列宽度。

为了获得良好的可视化输出,这将包括一个解析步骤,以确定正确的列宽。

完成后,使用类似的内容来使用空格而不是制表符。

代码语言:javascript
复制
string line = string.Format("{0,-20}{1,-20}{2,-20}", "name", "state", "country");

编辑:看到您不想使用空格。

在这种情况下,您可能需要在打印算法本身中处理这个问题。您仍然可以使用选项卡分隔项目,然后对每一行将其拆分到选项卡上,创建一行项(列)数组。

对于每个项目,使用带有适当X位置偏移量的Graphics.DrawString()打印它.

请参阅Graphics.DrawString的文档。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5960283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档