Строка неизменна , их нельзя изменить.PadRight
возвращает новый экземпляр дополненной строки, а не изменяет тот, из которого он был вызван.То, что вы хотите, это:
Trip_Name1 = Trip_Name1.PadRight(20,' ');
Существует большой вопрос по этому StackOverflow вопросу о том, почему строки являются неизменяемыми.
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
.