Форматирование строки C # не совпадает - PullRequest
0 голосов
/ 10 июня 2011

Я пытаюсь создать ряд строк, которые хорошо сочетаются, но форматирование работает не так, как я ожидал.

Если у меня есть:

String.Format("{0,-25}{1,-7}{2,-18}{3,-8}{4,-15}{5,-3}{6,-10}",
              i.Name, "Price: ", i.Price.toString(), "Weight: ",
              i.Weight.toString() + " lbs", "Quantity:",i.Quantity.toString()));

Я ожидал бы получить Имя (которое является строкой), начинающееся в начале строки, затем «Цена», начинающееся с символа 26, и так далее. (Ни одно из имен не превышает 10 символов). Вместо этого второй столбец повсюду в зависимости от длины имени.

Я пробовал это, используя StringBuilder, с тем же результатом. Ряд интернет-поисков просто показывает код, который выглядит примерно так же, как у меня, поэтому я не уверен, что не работает.

Редактировать: исправлены опечатки

1 Ответ

1 голос
/ 10 июня 2011

Я подозреваю, что проблема в отображении, а не в самих строках. Эти виды выравнивания работают только тогда, когда шрифт является моноширинным шрифтом. Моноширинный шрифт - это тот, в котором каждый символ имеет одинаковую ширину. Есть несколько из них, предоставляемых с Windows, Office, Visual Studio. Многие считают «Консолас» лучшим.

Я рекомендую вам изменить шрифт любого элемента управления, отображающего ваши данные, на Consolas.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...