对齐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
柱子整齐排列。
没有可靠的方法来做你想做的事情,除非你使用@Scott Hunter推荐的单空格字体。你可以通过测量字符串来伪造它,但对于非等宽字体,会有一些间隙,你无法使用空格来修复。
使用单格字体,这是微不足道的。只是用空格分隔。使用控制台、信使等。