我正在尝试在字符串之前多次添加一个字符。 C#中的AMAIK,它是PadLeft。
string firstName = "Mary";
firstName = firstName.PadLeft(3, '*'); // This should return ***Mary
但它不起作用。我做错了吗?
答案 0 :(得分:17)
第一个参数是返回字符串的总长度,因为“Mary”长度为4个字符,第一个参数为3,它按预期工作。如果您尝试firstName.PadLeft(6,'*'),您将获得** Mary
答案 1 :(得分:4)
您应该添加字符串的长度:
firstName = firstName.PadLeft(firstName.Length + 3, '*');
第一个参数(totalWidth)表示结果字符串长度。如果你的字符串长度小于totalWidth参数,PadLeft会添加如此多的字符,结果字符串长度将等于totalWidth。
答案 2 :(得分:3)
不,它有效。它将使用提供的字符在左侧填充,总字符串长度为3.因此,如果您想要***Mary
的结果,则必须使用firstName.PadLeft(7, '*');
答案 3 :(得分:2)
3是字符串的总长度,所以如果你的字符串是“a”,它将变成“** a”