Вопрос

Используя приведенный ниже код, заполнение, похоже, воспроизводится не так, как должно, теоретически текст "ДОБАВИТЬ этот текст" должно начинаться со столбца 21 в обеих строках, но в str2 в нем есть несколько дополнительных пробелов.При проверке длины обеих строк длина оказалась такой же 20, как и ожидалось.

        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);


Кто-нибудь сталкивался с этой проблемой раньше?Есть ли что-то очевидное, чего мне не хватает?

Большое спасибо.

Это было полезно?

Решение

Может быть, в вашем окне сообщений отображается шрифт с переменной высотой тона?

Попробуйте установить шрифт на Courier New (в любом соответствующем элементе управления), и посмотрите, поможет ли это.

Другие советы

Измените свой код на:

    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);

Таким образом, вы увидите, правильно ли набрано нужное количество символов, и вы также сможете определить, является ли это проблемой с шириной шрифта, как заявляли другие.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top