大写问题

时间:2014-06-27 07:37:14

标签: c# replace uppercase toupper

当我在visual studio c#

中使用Replace和ToUpper时,如何输出这个
  

这是我的代码:

private void button1_Click(object sender, EventArgs e)
{
    string input;
    input = comboBox1.Text;
    input = input.Replace("_", "");
    label1.Text = input.First().ToString().ToUpper() 
                     + String.Join("", input.Skip(1));    
}

输出始终如下:

  

2 个答案:

答案 0 :(得分:2)

如果输入是“first_name”,那么这将起作用:

var text = "first_name";

text = String.Join("",
    text
        .Split('_')
        .Where(x => !String.IsNullOrEmpty(x))
        .Select(x => new string(
            x
                .Take(1)
                .Select(c => char.ToUpperInvariant(c))
                .Concat(x.Skip(1))
                .ToArray())));

答案 1 :(得分:0)

下面的代码获取输入字符串的第一个字符(类型为char),然后将其强制转换为字符串并使第一个字母为大写:

input.First().ToString() + ...

在您的代码的下一部分中,使用emtpy string seporator将您的第一个字母添加到字符串的其余部分:

... + String.Join("", input.Skip(1))

因此,如果你想让所有首字母大写,你应该使用Enigmativity提供的LINQ。