对齐N列单个字符

本文关键字:字符 单个 对齐 | 更新日期: 2023-09-27 18:22:38

我试图通过WFA中每行的标签输出一个字符串,在C#中拥有N列的单个字符。我试图使用String.Format使用Here找到的解决方案,但我做不到,因为我不知道列的数量,我也认为它不起作用,因为字符的宽度不相同。

我尝试生成一个字符串作为string.Format的第一个参数传递,然后提供一行的字符数组作为第二个参数,但我得到了错误Index (zero based) must be greater than or equal to zero and less than the size of the argument list.,这很令人困惑,因为我保证这是真的。

//generatedText is built in a loop consisting of  += "{" + i + ", -2} "
row1.Text = String.Format(generatedText, myCharArray); //error!

仅仅用空格分隔每一列的琐碎解决方案根本不起作用,因为字符的宽度不一样,所以它们很快就会偏移(我认为String.Format解决了这个问题,如果我能让它起作用的话)。

关于修复String.Format的用法,或者让文本固定宽度的方法,或者我的问题的另一种解决方案,有什么建议吗?

编辑:我试图为确定数量的列使用String.Format,但由于字符宽度不同,它无法正确对齐。其他解决方案?

示例输出类似于。。。

Row 1:  a  j  e  t  v  q  p  z  c
Row 2:  c  c  b  r  m  a  s  t  m

柱子整齐排列。

对齐N列单个字符

没有可靠的方法来做你想做的事情,除非你使用@Scott Hunter推荐的单空格字体。你可以通过测量字符串来伪造它,但对于非等宽字体,会有一些间隙,你无法使用空格来修复。

使用单格字体,这是微不足道的。只是用空格分隔。使用控制台、信使等。