C# 如何测试控制台输入是否等于带out和order的文本

C# 如何测试控制台输入是否等于带out和order的文本,c#,while-loop,console,console-application,C#,While Loop,Console,Console Application,我知道你可以理解很多标题,但我的意思是,我有一个脚本,在控制台中测试文本 static void Main(string[] args) { { if (Console.ReadLine() == "hello") { MessageBox.Show("Hello"); } } } 假设我想添加另一个这样的if语句 static void Ma

我知道你可以理解很多标题,但我的意思是,我有一个脚本,在控制台中测试文本

 static void Main(string[] args)
    {
        {
            if (Console.ReadLine() == "hello")
            {
                MessageBox.Show("Hello");
            }
       }
    }
假设我想添加另一个这样的if语句

static void Main(string[] args)
    {
        {
            if (Console.ReadLine() == "hello")
            {
                MessageBox.Show("Hello");
            }

            if (Console.ReadLine() == "hello world")
            {
                MessageBox.Show("Hello world");
            }
       }
    }
问题是,它会按照if语句的放置顺序测试它们,因此如何一次检查所有if语句(例如,如果我编写了if语句)

hello world
它会给我一个机会

messagebox.show("hello world")
无论如何,即使这不是第一个if语句


我尝试了一个while循环,但它似乎不起作用

在这种情况下,您应该使用如下字符串方法

if (Console.ReadLine().Contains("hello"))
if (Console.ReadLine().StartsWith("hello"))
或类似方法

if (Console.ReadLine().Contains("hello"))
if (Console.ReadLine().StartsWith("hello"))
根据您的评论,看起来您不需要检查任何条件。顺便说一句,不确定您在控制台应用程序中如何/为什么使用MessageBox类。

试试:

if (myInput.IndexOf(mySubstr, StringComparison.OrdinalIgnoreCase)>= 0) then ...

对于不区分大小写的比较

,但如果hello world包含以hello开头的字符串hello Toothy,那么这就行不通了tho@IDKanything这不是你要问的吗?如果没有,请编辑您的帖子并澄清ifString.Containshello&&String.Containshello world如何?您可以使用String.Containshello,但无论哪种方式,这都有点离题。您可以使用switch。@JimHewitt您能回答帖子以便深入了解吗detail@IDK看这里