对于模糊标题道歉,我在我的程序中遇到if语句的一些问题,这不是确切的代码,但仍应该概述我的问题,在我的程序中我有这个:
if(entry.Contains("a"))
{
Console.WriteLine("a");
}
if(entry.Contains("b"))
{
Console.WriteLine("b");
}
if(entry.Contains("c"))
{
Console.WriteLine("c");
}
else
{
Console.WriteLine("d");
}
所以我的问题是,如果我要键入a或b(前两个if语句),else语句仍然会出现,但如果我要键入c,则else语句不会发生但我希望它行动因此,如果我键入a,b或c,则不会发生else语句。
非常感谢任何帮助。
答案 0 :(得分:14)
你想要
if(entry.Contains("a"))
{
Console.WriteLine("a");
}
else if(entry.Contains("b"))
{
Console.WriteLine("b");
}
else if(entry.Contains("c"))
{
Console.WriteLine("c");
}
else
{
Console.WriteLine("d");
}
此外,如果您使用所有相同的变量类型(即string
或int
),您还可以使用case statement
。它做的完全相同,它只是有点整洁:
switch(stringName)
{
case "a":
Console.Writeline("a");
break;
case "b":
Console.Writeline("b");
break;
case "c":
Console.Writeline("c");
break;
case "d":
Console.Writeline("d");
break;
default:
Console.Writeline("none of the above");
break;
}
我认为它不会与entry.Contains()
一起使用。