【问题标题】:Uppercase problems [closed]大写问题[关闭]
【发布时间】:2014-08-18 05:52:40
【问题描述】:

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

输出总是这样:

名字

【问题讨论】:

  • 你有输入的例子吗?

标签: c# replace uppercase toupper


【解决方案1】:

如果输入是“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())));

【讨论】:

  • 如果它来自我的数据库怎么办?
  • @user3643111 - 你是什么意思?
【解决方案2】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2012-05-21
    • 2018-03-12
    • 2013-10-24
    • 1970-01-01
    • 2020-08-13
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 2011-11-19
    相关资源
    最近更新 更多