PadLeft不起作用

Sae*_*ati 4 .net c# .net-4.0

我想在字符串之前多次添加一个字符.C#中的AMAIK,它是PadLeft.

string firstName = "Mary";
firstName = firstName.PadLeft(3, '*'); // This should return ***Mary
Run Code Online (Sandbox Code Playgroud)

但它不起作用.难道我做错了什么?

zov*_*zov 17

第一个参数是返回字符串的总长度,因为"Mary"长度为4个字符,第一个参数为3,它按预期工作.如果你尝试firstName.PadLeft(6,'*')你会得到**玛丽


Ren*_*iuz 6

您应该像这样添加字符串的长度:

firstName = firstName.PadLeft(firstName.Length + 3, '*');
Run Code Online (Sandbox Code Playgroud)

第一个参数(totalWidth)表示结果字符串的长度。如果您的字符串长度小于totalWidth参数,PadLeft会添加如此多的字符,导致结果字符串长度将等于totalWidth。