大写的问题

本文关键字:问题 | 更新日期: 2023-09-27 18:10:34

当我在visual studio c#中使用Replace和ToUpper时,我该如何输出这个

FirstName

下面是我的代码:

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));    
}

输出总是这样:

Firstname

大写的问题

如果输入为"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())));

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

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

在下一段代码中,您将字符串的其余部分与第一个字母的空字符串分隔符相加:

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

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