C# else if 混淆

标签 c#

我目前正在研究条件结构。如果我错了请纠正我,但 else if 和 else(if(){}) 是同一回事...示例:

a=5;
if(a==6)
{ 
   Console.WriteLine("Variable 'a' is 6");
}
else if(a==5)
{
     Console.WriteLine("Variable 'a' is 5");
}

a=5;
if(a==6)
{ 
    Console.WriteLine("Variable 'a' is 6");
}
else
{
    if(a==5)
    {
        Console.WriteLine("Variable 'a' is 5");
    }
}

这些东西一样吗?如果是的话,如果我可以用“第二种方式”(我写的第二个例子)写它,为什么 else if 存在?

最佳答案

是的,它们实际上是相同的。

存在“else if”语句的原因是为了在有许多条件需要测试时使代码更简洁。例如:

if (a==b) {
   //blah
} else if (a==c) {
   //blah
} else if (a==d) {
   //blah
} else if (a==e) {
   //blah
}

比嵌套方法更干净

if (a==b) { 
    //blah
} else {    
    if (a==c) {
        //blah
    } else {
        if (a==d) {
            //blah
        } else {
            if (a==e) {
                //blah
            }
        }
    }
}

关于C# else if 混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42077865/

相关文章:

c# - 以编程方式生成 WCF 客户端契约(Contract)时重用类型

c# - DataGrid 滚动不流畅

c# - 错误处理超过重试次数 10

c# - WCF 使用接口(interface)参数调用服务方法导致 SocketException

c# - 将面板保存到位图 c# Winforms

c# - 为什么 Font 是不可变的?

c# - 静态字符串的 nameof() 运算符

c# - 如何本地化统一的Android游戏? (以便Google Play可以看到它)

c# - 为什么我的克隆代码不能编译?

javascript - Angular dist 文件 ||我如何在没有服务器的情况下在本地运行它们?