如何比较不区分大小写的字符串?

Thales Vilela

我正在编写一个代码,如果用户需要功能,则必须按“ y”或“ n”或输入“ yes”或“ no”,而无需检查是否区分大小写(因此它必须可以工作)如果用户输入是或是)。

同样,如果用户写了任何无效的东西,则表明该选项无效,并再次要求用户选择一个选项。

这是它的抽象:

    static bool FeatureIsOn { get; set;}

    static void Main()
    {
        bool optionIsValid;

        do //Loops around until the option is valid
        {
            Console.WriteLine();
            Console.Write("Enable Feature? [Y/N]: ");
            string optionString =  Console.ReadLine();

            switch(optionString)
            {
                default:
                    Console.WriteLine("Invalid option.");
                    optionIsValid = false;
                break;

                case "Yes":
                case "yes":
                case "Y":
                case "y":
                    FeatureIsOn = true;
                    optionIsValid = true;
                break;

                case "No":
                case "no":
                case "N":
                case "n":
                    FeatureIsOn = false;
                    optionIsValid = true;
                break;

            }
        } while (optionIsValid != true);
    }

为每种可能的方式写“是”的情况不是很有效。有更好的方法吗?

角色

在检查之前,将要检查的字符串转换为大写或小写:

static bool FeatureIsOn { get; set;}

static void Main()
{
    bool optionIsValid;

    do //Loops around until the option is valid
    {
        Console.WriteLine();
        Console.Write("Enable Feature? [Y/N]: ");
        string optionString =  Console.ReadLine();

        // convert string to uppercase 
        optionString = optionString.ToUpper();

        switch(optionString)
        {
            case "YES":
            case "Y":
                FeatureIsOn = true;
                optionIsValid = true;
            break;

            case "NO":
            case "N":
                FeatureIsOn = false;
                optionIsValid = true;
            break;

            default:
                Console.WriteLine("Invalid option.");
                optionIsValid = false;
            break;

        }
    } while (optionIsValid != true);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

javascript比较字符串而不区分大小写

不区分大小写的字符串比较怎么办?

如何进行不区分大小写的字符串比较?

Go模板中不区分大小写的字符串比较

Go中不区分大小写的字符串比较

SQL区分大小写的字符串比较

C ++中不区分大小写的字符串比较

字符串比较时如何将Sqlite3设置为不区分大小写?

C ++ 11是否引入了不区分大小写的字符串比较算法?

如何比较不区分大小写和不区分重音的字符串

在Firebird中使用计算的上层索引比较不区分大小写的字符串

如何进行不区分大小写的字符串比较?

如何使字符串不区分大小写

C#Expression类方法扩展,使字符串比较不区分大小写

如何在Spark RDD中比较不区分大小写的字符串?

如何构造正则表达式以比较Shell脚本中不区分大小写的字符串?

比较字符串而不区分大小写

如何比较不区分大小写的字符串

比较未知对象类型时,如何确保字符串不区分大小写?

Fortran中不区分大小写的字符串比较

实体框架核心Cosmos Db-如何比较不区分大小写的字符串?

如何使字符串替换不区分大小写

EF Core postgresql字符串比较(不区分大小写)

不区分大小写的字符串数组比较

如何区分大小写比较字符串?

Puppet 中区分大小写的字符串比较

如何制作一个函数来比较字符串而不区分大小写,不使用 strcmpi()

vuex ORM中的'where'子句是否可以不区分大小写的字符串比较?

= 在 Delphi 中是区分大小写还是不区分字符串的比较?