是否有向字符串多次添加字符的内置方法

本文关键字:字符 内置 方法 添加 字符串 是否 | 更新日期: 2023-09-27 18:05:11

是否有内置函数或更有效的方法将字符添加到字符串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"

请记住,这两种方法的第一个参数都是所需的total字符串长度,因此我将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()/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。随着字符串大小的增加,+=会导致阵列复制的成本。