首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#控制台表未对齐

问C#控制台表未对齐
EN

Stack Overflow用户
提问于 2021-01-19 14:46:09
回答 2查看 127关注 0票数 2

我设法在控制台中创建了一个简单的C#表,关于这一点有足够多的线程。该问题是由于具有不同大小的字符(例如,'iiiii'(5个字符)比'there'(5个字符)短),表将永远不会对齐。

有没有办法计算字符串值的实际长度,以便判断需要添加多少空格才能将较短的字符串与表的其余部分对齐?

(我试图在这里直观地显示它,但似乎在这个网站使用的字体中,所有字符都具有相同的大小(和/或填充),但是,我可以发送一个屏幕截图)

​

​

EN

回答 2

Stack Overflow用户

发布于 2021-01-19 15:07:40

您应该将实际的制表符( \t转义序列)嵌入到每个输出字符串中,而不是尝试手动将文本与任意空格字符串对齐。

代码语言:javascript
复制
Console.WriteLine("Row1:" + "\t"
    + "iiiiiii" );
Console.WriteLine("Row2:" + "\t"
    + "7 chars" );
票数 2
EN

Stack Overflow用户

发布于 2021-01-19 15:37:48

如果您知道控制台字体名称和大小,您可以尝试使用TextRenderer.MeasureText来获取以像素为单位的字符串宽度。然后将空格添加到较短的空格中,直到字符串对齐。

当然,您不会通过这种方式获得精确的定位,但它可能会满足您的需求。

更新。您可以参考How to measure the pixel width of a digit in a given font / size (C#)和/或其他类似问题了解更多详细信息。

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

https://stackoverflow.com/questions/65786645

复制
相关文章

相似问题

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