-4

当我在 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));    
}

输出总是这样:

4

2 回答 2

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())));
于 2014-06-27T07:47:16.620 回答
0

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

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

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

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

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

于 2014-06-27T08:03:06.873 回答