我想在字符串前多次添加一個字符。在C#中的AMAIK,它是PadLeft。PadLeft不起作用
string firstName = "Mary";
firstName = firstName.PadLeft(3, '*'); // This should return ***Mary
但它不起作用。難道我做錯了什麼?
我想在字符串前多次添加一個字符。在C#中的AMAIK,它是PadLeft。PadLeft不起作用
string firstName = "Mary";
firstName = firstName.PadLeft(3, '*'); // This should return ***Mary
但它不起作用。難道我做錯了什麼?
第一個參數是返回的字符串的總長度,如「瑪麗」是4個字符長,你的第一個參數是3,它是按預期工作。如果您嘗試firstName.PadLeft(6,「*」),你會得到**瑪麗
不,它的工作原理。它將在左邊填充所提供的字符,總長度爲3.所以,如果你想得到結果***Mary
,你將不得不使用firstName.PadLeft(7, '*');
對不起,上面的內容並不完全正確,但那只是因爲SO似乎喜歡從我的帖子中刪除*字符,但我認爲您可以獲得它的要點。 –
另外,如果你只是在字符串的開頭添加一個靜態數量的字符,只需使用firstName =「***」+ firstName –
如何填充像這樣:「」.PadLeft(23)+ firstName; – amalgamate
3是字符串的總長度,所以如果你的字符串是「一」,就會變成「**了」
你應該像添加一個字符串的長度:
firstName = firstName.PadLeft(firstName.Length + 3, '*');
第一個參數(totalWidth)表示結果字符串長度。如果字符串長度小於totalWidth參數,則PadLeft會添加很多字符,結果字符串長度將等於totalWidth。
那它做了什麼呢? –