【问题标题】:C# (Windows Form) - Using ToUpper for State AbbreviationC#(Windows 窗体)- 使用 ToUpper 表示状态缩写
【发布时间】:2020-02-14 08:17:09
【问题描述】:

我的表单上有一个文本框,允许用户输入一个状态。我还有一个按钮,我用它来格式化输入的状态,以确保两个字母都是大写的。我能够编写一些使第一个字母大写的代码,但是我无法将整个字符串(输入的状态)设为大写。这是我用来将第一个字母大写的:

        if (state.Length > 0)
            {
                char firstChar = state[0];
                state = Char.ToUpper(firstChar) + state.Substring(1);
            }

此代码仅格式化第一个字母,但我希望将整个字符串大写,所以我尝试了这个:

 String.ToUpper(state);

此代码将无法运行,并且我收到一条错误消息,提示“无法从字符串转换为 System.Globalization.CultureInfo”。即使经过研究,我也不明白如何解决此错误。我所知道的是我需要使用 ToUpper 来转换整个字符串,但我不明白我做错了什么?有人可以帮我吗?谢谢!

【问题讨论】:

  • 试试state = state.ToUpper();
  • 您知道TextBox 控件有一个CharacterCasing 属性,无论您输入什么,它都会自动转换为大写或小写?

标签: c# winforms windows-forms-designer


【解决方案1】:

在您的字符串上调用 ToUpper 会将整个字符串更改为大写。

if (state.Length > 0)
{
    state = state.ToUpper();
}

【讨论】:

  • 非常感谢,我一直在努力解决这个问题!这同样适用于小写字母吗? Char.ToLower 用于字符串中任意位置的 1 个字符,而 ToUpper 用于整个字符串?
  • 是的。 String.ToUpper 适用于整个字符串。
  • 是的,您可以使用state.ToLower(); 将整个字符串变为小写。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-20
  • 1970-01-01
  • 2011-01-17
  • 2014-04-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多