我有以下代碼:可變長度的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);
編輯:
您的更新後,它看起來像你想也可以通過PadLeft()
取得的成就:
var str = "ABC";
string output = str.PadLeft(7);
也許我不能使用PadLeft,因爲字符串並不總是恆定的(上面只是一個例子),但我也忘記了這個函數。謝謝。 – 2012-03-03 03:56:53
只寫:
var lineLength = String.Format("{0," + n + "}", str);
比可接受的答案更可讀(並使用更少的行) – Doug 2013-11-02 02:54:29
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'的值嗎? – 2012-03-03 02:54:36
對不起,我在上面的代碼中犯了一些錯誤並修復了它。 – 2012-03-03 03:00:10