字符串填充问题

时间:2009-04-18 10:29:34

标签: c# string padding

使用下面给出的代码填充似乎不应该播放,理论上文本“添加此文本”应该从两个字符串中的第21列开始,但是在str2中有一些额外的空间。在检查两个琴弦的长度时,长度变得与预期的相同。

        string str1 = "Test".PadRight(20);
        string str2 = "Test123".PadRight(20);

        string common = "Add this text";

        MessageBox.Show(str1.Length.ToString());
        MessageBox.Show(str2.Length.ToString());

        MessageBox.Show(str1 + common + "\n" + str2 + common);


之前有人遇到过这个问题吗?是否有一些我不知道的东西。

非常感谢。

2 个答案:

答案 0 :(得分:4)

也许你的MessageBox显示可变间距字体?

尝试将字体设置为Courier New(在任何相关控件中),看看它是否有帮助。

答案 1 :(得分:0)

将您的代码更改为:

    string str1 = "Test".PadRight(20, 'W');
    string str2 = "Test123".PadRight(20, 'I');
    string common = "Add this text";
    MessageBox.Show(str1.Length.ToString());
    MessageBox.Show(str2.Length.ToString());
    MessageBox.Show(str1 + common + "\n" + str2 + common);

通过这种方式,您将看到是否正确填充了正确数量的字符,并且您还可以判断它是否是其他人所说的字体宽度问题。