Ответ 1
Строка неизменна, они не могут быть изменены. PadRight
возвращает новый экземпляр строки, заполненной, а не изменяет ту, из которой она была вызвана. Что вы хотите, так это:
Trip_Name1 = Trip_Name1.PadRight(20,' ');
Существует большое обсуждение этого вопроса StackOverflow относительно того, почему строки являются неизменными.
EDIT:
Ничто из этого не работает. Однако я могу поместить строку с любым другим символом.
Вы действительно переустанавливаете его, как в примере выше? Если это так, то без подробностей я могу только подумать о следующем:
- Если вы храните это в базе данных и извлекаете его, некоторые базы данных с правильными настройками могут "Trim" для вас.
- У вас есть логика где-то еще, которая обрезает белые пробелы. Это часто встречается при работе с пользователем.
EDIT 2:
Я должен был быть более конкретным
Я собираюсь принять дикое предположение, основанное на ваших соглашениях об именах, с которыми вы имеете дело с HTML/ASP.NET. В большинстве случаев в HTML - белое пространство рушится. Например:
<div><a>Hello World</a></div>
<div><a>Hello World</a></div>
Оба a
тег будут оказывать то же самое, потому что бело-пространство разваливалось. Если вы действительно работаете с HTML - это, скорее всего, ваша причина и почему дополнение работает для всех других персонажей. Если вы создаете источник представления рендеринга разметки - он содержит дополнительные пробелы?
Если вы хотите сохранить пробелы, попробуйте применить стиль CSS к элементу с именем white-space
и установите его в pre
. Например:
<a style="white-space:pre">hello world </a>
Это приведет к сохранению белого пространства. Имейте в виду, что использование пробелов, подобных этому, имеет недостатки. Браузеры не отображают их одинаково и т.д. Я бы не использовал это для компоновки. Вместо этого используйте CSS и что-то вроде min-width
.