[英]How to properly align strings in C# using String.Format()?
伙計們,很抱歉在這個網站上充斥着一個無聊的問題,但是即使在閱讀了有關C#的文檔並查看了他們的示例之后,我似乎也無法找到對此的解釋。
即,我有這樣的代碼:
String s = "Hello";
String n = "World";
String s1 = "LALALALALALALA";
String n1 = "heyy";
String s2 = "sffsdfsfdsfsd";
String n2 = "dsfsdfdsfdsfsdsd";
String z = String.Format("{0,-20}{1,-10}", s, n);
String z1 = String.Format("{0,-20}{1,-10}", s1, n1);
String z2 = String.Format("{0,-20}{1,-10}", s2, n2);
(此代碼只是為了測試)
現在,當我使用時:
Console.WriteLine(z);
Console.WriteLine(z1);
Console.WriteLine(z2);
將輸出寫入控制台,它按我的預期工作; 20個空格分配給字符串參數{0},接下來的空格分配給字符串參數{1}。 但是,當我以某種形式運行完全相同的代碼時(作為MessageBox輸出,甚至是TextBox文本,我都會得到混亂的結果。參數{0}可以,但是參數{1}的起始位置與結尾之間似乎是隨機的距離) {0}。
有這種情況發生的原因嗎? 我該如何解決?
感謝您的任何答案!
這取決於字體。 某些字體的所有字母寬度都不相同。 如果您嘗試使用Consolas,它將可以正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.