IF和ELSE声明问题

时间:2014-03-09 01:14:18

标签: c# if-statement

对于模糊标题道歉,我在我的程序中遇到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语句。

非常感谢任何帮助。

1 个答案:

答案 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");
}

此外,如果您使用所有相同的变量类型(即stringint),您还可以使用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()一起使用。