C# PadLeft和PadRight使用用户在中给出的变量

C# PadLeft和PadRight使用用户在中给出的变量,c#,padding,padleft,C#,Padding,Padleft,我在使用PadLeft和PadRight时遇到了一个小问题。 所以我在我的代码中,用户可以输入他们想用来填充的字符,以及他们想输入的字符数。像这样: String StartString; int AmountOfCharacters; Char PadCharacter; StartString = TextBoxString.Text(Lawnmower) AmountOfCharacters = Convert.ToInt32(TextBoxAmountofCharacters.Text

我在使用
PadLeft
PadRight
时遇到了一个小问题。 所以我在我的代码中,用户可以输入他们想用来填充的字符,以及他们想输入的字符数。像这样:

String StartString;
int AmountOfCharacters;
Char PadCharacter;

StartString = TextBoxString.Text(Lawnmower)
AmountOfCharacters = Convert.ToInt32(TextBoxAmountofCharacters.Text)    (Lets   Say 5)
PadCharacter = Convert.ToChar(TextBoxPadCharacter.Text)(Lets use *)
所以后来我就放了

Padding = String.PadLeft(AmountOfCharacters,PadCharacter)
现在我遇到的问题是,当我运行上面的代码时,它没有做任何事情。 它只是给我一个没有任何****附加的文本剪草机。 我是否必须更改代码中的某些内容才能使其正常工作,还是为此使用了错误的变量? 因为当我使用
PadCharacter
作为
字符串时,我会收到一条错误消息

无法将字符串隐式转换为字符


您误解了
PadLeft()
的工作原理。指定为参数的长度(在本例中为
AmountOfCharacters
)并不指定要添加的字符数,而是指定字符串末尾应包含的字符数(至少)


因此,当您指定字符串“割草机”和AmountOfCharacters=5时,将不会发生任何事情,因为单词“割草机”的长度已经超过5个字符。

您误解了
PadLeft()
的工作原理。指定为参数的长度(在本例中为
AmountOfCharacters
)并不指定要添加的字符数,而是指定字符串末尾应包含的字符数(至少)


因此,当您指定字符串“割草机”和AmountOfCharacters=5时,不会发生任何事情,因为单词“割草机”的长度已经超过5个字符。

如果
StartString
字符数小于
AmountOfCharacters
您可以在
StartString
前面看到星星。星星的数量将是
[AmountOfCharacters]
-
[StartString Character Count]
如果
StartString
字符数小于
AmountOfCharacters
您可以在
StartString
前面看到星星。星星的数量将是
[AmountOfCharacters]
-
[StartString Character Count]
字符串是一个字符序列,但本身不是一个字符-这就是Convert.ToChar异常失败的原因。请尝试TextBoxPadCharacter[0]获取用户输入的第一个字符。您还需要验证输入是否为非空。

字符串是一个字符序列,但本身不是字符-这就是Convert.ToChar出现异常时失败的原因。请尝试TextBoxPadCharacter[0]获取用户输入的第一个字符。您还需要验证输入是否为非空。

在转换过程中,出于某种原因,我一直在进一步查看代码。48“*”是使用变量im生成的。所以我猜里面的48是什么把我的记事本搞砸了。我一直在我的代码中寻找更多的东西,因为某种原因,在转换过程中或者其他什么地方。48“*”是使用变量im生成的。所以我猜里面的48是什么把我的便笺簿搞砸了。