如何显示转换后的字符串

时间:2013-12-01 20:20:03

标签: c#

我正在进行一项任务,要求我让用户输入一个没有空格的字符串,并通过以大写字母开头来识别每个单词,因此“IAmName”将转换为“我是名字”。我想我有那个部分,我的问题是最后一步,它在标签中显示新的字符串,这是我的代码到目前为止:

    private string ConvertText()
    {
        string str = inputTextBox.Text;
        if (str.Contains(" "))
        {
            MessageBox.Show("No spaces allowed");
        }

        string newstring = outputLabel.Text;
        for (int i = 0; i < str.Length; i++)
        {
            if (char.IsUpper(str[i]))
                newstring += " ";
            newstring += str[i].ToString();
        }

        return newstring;
    }

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:4)

反过来说:

outputLabel.Text = ConvertText(); // Or any other label that should display it

我不知道为什么你的代码中有这个(string newstring = outputLabel.Text;)。你没有使用它,你只是覆盖它。

您可能还希望使用StringBuilder在循环中连接,效率更高。

此代码可能应添加return;

if (str.Contains(" "))
{
      MessageBox.Show("No spaces allowed");
      return; // Return so it stops executing this method
}

答案 1 :(得分:0)

我编辑了一点样品 我认为这是正确的。

    public static class MyClass
{
        public static string ConvertText(string inputText)
    {
        var newstring = "";
        for (var i = 0; i < inputText.Length; i++)
        {
            if (char.IsUpper(inputText[i]))
                newstring += " ";
            newstring += inputText[i].ToString(CultureInfo.InvariantCulture);
        } 
        return newstring;
    }
}
  string output = MyClass.ConvertText("MyNameIsBlaBla");
        Console.WriteLine(output);
  

“我的名字是Bla Bla”