Почему PadLeft не работает? - PullRequest
       13

Почему PadLeft не работает?

11 голосов
/ 27 августа 2010

У меня есть следующий код:

string foo = "blah".PadLeft(4, ' ');

Но когда я проверяю его, вместо foo значение "____blah" (с 4 пробелами в начале), это просто "blah".Почему PadLeft не делает то, что я ожидаю?

Ответы [ 2 ]

19 голосов
/ 27 августа 2010

Поскольку первый аргумент - это общая длина результирующей строки , а не количество символов для заполнения.Итак, в вашем примере вы хотите использовать 8 вместо 4.

2 голосов
/ 27 августа 2010

Первый аргумент PadLeft указывает итоговую результирующую длину, которую вы хотите. Так как «бла» начинается с длины в четыре символа, при указании длины четыре не добавляется заполнение. Если вы хотите вставить четыре пробела, измените свой вызов на string foo = "blah".PadLft(8, ' '); Так как символ заполнения по умолчанию является пробелом, вы можете пропустить указание этого и просто использовать string foo = "blah".PadLeft(8)

...