如何检查用户输入是否不区分大小写

本文关键字:是否 输入 不区 大小写 用户 何检查 检查 | 更新日期: 2023-09-27 18:05:03

我必须找到一个数字的平方/12345/-它完成了。我想让程序更复杂一点,我有这个:

using System;
class Program
{
    static void Main()
    {
        Console.WriteLine("The square of the number 12345 is");
        Console.WriteLine(Math.Sqrt(12345));
        Console.WriteLine("Enter a number to calculate the square:");
        int numVal = int.Parse(Console.ReadLine());
        Console.WriteLine("The square of your number is" + " " + Math.Sqrt(numVal));
        Console.WriteLine("Do you wish to enter another number? Yes / No");
        string input = Console.ReadLine();
            if (input == "Yes")
            {
                Console.WriteLine("Enter a number to calculate the square:");
                int newNum = int.Parse(Console.ReadLine());
                Console.WriteLine("The square of your number is" + " " + Math.Sqrt(newNum));
            }
            else
            {
                Console.WriteLine("Have a nice day!");
            }
    }
}

现在我有这个问题:当程序问我是否要输入另一个数字时,答案应该是大写字母/Yes, No/。有没有办法让它工作,即使我输入小写/yes, no/的答案?

如何检查用户输入是否不区分大小写

根据您的输入,下面一行将做出反应。

if(string.Equals(input, "Yes", StringComparison.CurrentCultureIgnoreCase))
{
  // Your stuffs
}

if(string.Equals(input, "Yes", StringComparison.OrdinalIgnoreCase))
{
  // Your stuffs
}

注意: OrdinalIgnoreCase比较没有文化方面的字符代码。这适用于精确比较,比如登录名,但不适用于对包含不寻常字符的字符串进行排序,比如或ö。这也更快,因为在比较之前不需要应用额外的规则。

更多信息:点击这里或这里

你可以试试:

...
string input = Console.ReadLine();
            if (input.ToUpper() == "YES")
            {
                ...
string.Equals(input, "Yes", StringComparison.OrdinalIgnoreCase)