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