[英]Align N columns of single characters
我試圖通過在WFA中為每一行的標簽輸出字符串來在C#中具有N列的單個字符。 我嘗試使用String.Format 此處找到的解決方案,但由於我不知道列數,所以我無法使用,我也認為由於字符寬度不同,它也不起作用。
我嘗試生成一個字符串作為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建議的等寬字體,否則沒有可靠的方法來執行所需的操作。 您可以通過測量字符串來弄亂它,但是對於非等寬字體,將存在無法使用空格修復的間隙。
使用等寬字體,這很簡單。 只是用空格分開。 使用Consolas,Courier等
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.