C#中如何判断用户输入的字符串是否大写?

How to determine if a user has capitalized a string input or not in C#?

这是我的第一个问题!

我正在为大学编写 C# 编码作业,其中玩家输入不同的动作,他们的动作结果显示在控制台中。到现在为止,我一直在说

(if firstInput == "Action" || firstInput == "action")

我听说我可以使用 string.ToLower() 来简化它,但我似乎不知道该怎么做。

如有任何帮助,我们将不胜感激,如果这很明显,我深表歉意,我是一个 C# 菜鸟 :p

谢谢!

想法是将输入转换为全部小写,这样无论用户输入什么,您都可以始终与小写字符串常量进行比较

if (firstInput.ToLower() == "action") {
    ...
}

示例:

"ACTION".ToLower()  ===>  "action"
"Action".ToLower()  ===>  "action"
"action".ToLower()  ===>  "action"

如果用户首字母是否大写真的很重要,您可能需要比较指定不忽略大小写的字符串。

因此,自 "Action" != "action" 以来,请尝试 String.Equals

bool isEqual = String.Equals(x, y, StringComparison.Ordinal);

那么,我会根据用户的输入执行.ToLower(),然后将其与原始输入进行比较。

string.ToLower() returns 包含所有小写字符的新 string。所以你的代码应该是这样的:

if (firstInput.ToLower() == "action"){
{

.ToLower()firstInput 转换为全小写字符串。当您将其与 "action" 的全小写字符串文字进行比较时,如果 firstInput 包含任何大写或小写形式的 "action"(Action、action、aCtIoN 等),则比较将成功。

值得注意的是Microsoft .Net documentation告诉你如何使用string.ToLower()。作为学习如何使用 C# 编程的一部分,您应该习惯于查看 Microsoft .Net 文档以了解如何使用框架提供的功能。 string.ToLower()文章提供了完整的代码示例:

using System;

public class ToLowerTest {
    public static void Main() {

        string [] info = {"Name", "Title", "Age", "Location", "Gender"};

        Console.WriteLine("The initial values in the array are:");
        foreach (string s in info)
            Console.WriteLine(s);

        Console.WriteLine("{0}The lowercase of these values is:", Environment.NewLine);        

        foreach (string s in info)
            Console.WriteLine(s.ToLower());

    }
}
// The example displays the following output:
//       The initial values in the array are:
//       Name
//       Title
//       Age
//       Location
//       Gender
//       
//       The lowercase of these values is:
//       name
//       title
//       age
//       location
//       gender