PadLeft和PadRight使用用户给出的变量

时间:2016-03-18 15:08:45

标签: c# padding padleft

使用PadLeftPadRight时出现小问题。 所以我在我的代码中用户可以输入他们想要用于填充的字符以及他们想要放入多少个字符。像这样:

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作为String时,我收到错误消息

  

无法将String隐式转换为char。

3 个答案:

答案 0 :(得分:1)

你误解了PadLeft()的工作原理。您指定为参数的长度(在您的情况下为AmountOfCharacters)并未指定要添加的字符数,而是指定字符串最后应包含的字符数(至少)。

所以当你指定字符串"割草机"并且AmountOfCharacters = 5,没有任何事情会发生,因为割草机这个词的长度已超过5个字符。

答案 1 :(得分:1)

如果StartString字符数小于AmountOfCharacters,您可以看到StartString前面的星号。明星的数量将是 [AmountOfCharacters] - [StartString Character Count]

答案 2 :(得分:0)

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