簡體   English   中英

是否有內置方法可以多次向字符串添加字符?

[英]Is there built-in method to add character multiple times to a string?

是否有內置函數或更有效的方法將字符添加到字符串X次?

例如,以下代碼將向字符串添加“0”字符5次:

int count = 5;
char someChar = '0';
string myString = "SomeString";

for(int i=0;i<count;i++)
{
    myString = someChar + myString;
}

使用PadLeft()PadRight()

PadRight()一個例子:

int count = 5;
char someChar = '0';
string myString = "SomeString";

myString = myString.PadRight(count + myString.Length, someChar);

// output -> "SomeString00000"

請記住,任一方法的第一個參數是所需的字符串長度,因此我為什么要將count添加到原始字符串長度。

同樣,如果你想在字符串的開頭附加字符,請使用PadLeft()

myString = myString.PadLeft(count + myString.Length, someChar);

// output -> "00000SomeString"
string.Concat(Enumerable.Repeat("0", 5));

將返回

“00000”

提及: 是否有內置函數在.net中重復字符串或字符?

你也可以這樣做:

string line = "abc";
line = "abc" + new String('X', 5);
//line == abcXXXXX

看看這里,你可以使用PadRight() / PadRight() PadLeft() ;

int count = 5;
char someChar = '0';
string myString = "SomeString";
var stringLength = myString.Length;

var newPaddedStringRight = myString.PadRight(stringLength  + count, '0'); 
//will give SomeString00000
var newPaddedStringLeft = myString.PadLeft(stringLength  + count, '0'); 
//will give 00000SomeString

請記住,字符串是不可變的 ,因此您需要將結果分配給新字符串。

您也可以使用StringBuilder。 隨着字符串大小的增加,+ =會導致數組副本的成本增加。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM