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是什么把我的便笺簿搞砸了。