Я следующий код:переменной длины String.Format
var str = "ABC";
var n = 7;
var output = String.Format("{0,n}", str);
Это должно вывести строку
" ABC"
Как я должен изменить строку выше?
Я следующий код:переменной длины String.Format
var str = "ABC";
var n = 7;
var output = String.Format("{0,n}", str);
Это должно вывести строку
" ABC"
Как я должен изменить строку выше?
Формат строки просто строки тоже - вы можете определить формат отдельно:
int n = 3;
string format = string.Format("{{0,{0}}}", n);
//or more readable: string format = "{0," + n + "}";
var output = string.Format(format, str);
Edit:
После обновления вашего выглядит как то, что вы хотите, также может быть достигнуто за счет PadLeft()
:
var str = "ABC";
string output = str.PadLeft(7);
Возможно, я не могу использовать PadLeft, так как строка не всегда постоянна (выше был всего лишь пример), но я тоже забыл об этой функции. Благодарю. –
Просто написать:
var lineLength = String.Format("{0," + n + "}", str);
Более читаемый, чем принятый ответ (и использует меньше строк) – Doug
var s="Hello my friend";
string leftSpace = s.PadLeft(20,' '); //pad left with special character
string rightSpace = s.PadRight(20,' '); //pad right with special character
Как общаться 'str.Length' и' n'? Предполагается ли 'n' представлять значение' str.Length'? –
Извините, я допустил ошибку в коде выше и исправил его. –