C# 如何防止代码在处理第一个if-else时运行if语句?

C# 如何防止代码在处理第一个if-else时运行if语句?,c#,if-statement,C#,If Statement,我有三个if-else语句。大概是这样的: int Group1 = 1; int Group2 = 3; int Group3 = 6; if (Group1 < Group2 && Group1 < Group3) { Group1 += 5; } else if (Group2 < Group1 && Group2 < Group3) { Group2 += 5; } else { Group3 += 5; }

我有三个if-else语句。大概是这样的:

int Group1 = 1;
int Group2 = 3;
int Group3 = 6;
if (Group1 < Group2 && Group1 < Group3)
{
    Group1 += 5;
}
else if (Group2 < Group1 && Group2 < Group3)
{
    Group2 += 5;
}
else
{
    Group3 += 5;
}
int-Group1=1;
int-Group2=3;
int组3=6;
如果(第1组<第2组和第1组<第3组)
{
组1+=5;
}
else if(组2<组1和组2<组3)
{
组2+=5;
}
其他的
{
组3+=5;
}
现在,我相信上面的代码将通过第一个if语句,因为Group1是最小的,但随后值会发生变化,因此第二个if也将被处理。当找到最小的组整数时,如何在第一个if语句上停止并从循环中断?
或者我错了,只计算第一个if语句?

只计算第一个if语句

这里没有循环;只有一组条件句。因为您使用了
else if
,只有当原始
if
计算为false时,才能输入该块。如果你写了

if (Group1 < Group2 && Group1 < Group3)
{
    Group1 += 5;
} 
// No else
if (Group2 < Group1 && Group2 < Group3)
{
if(Group1

然后两者都将执行。

只计算第一个if语句

这里没有循环;只有一组条件。因为您使用了
else if
,所以如果原始
if
计算为false,则只能输入该块。如果相反,您编写了

if (Group1 < Group2 && Group1 < Group3)
{
    Group1 += 5;
} 
// No else
if (Group2 < Group1 && Group2 < Group3)
{
if(Group1

然后两者都将执行。

如果
语句接受布尔表达式。在这种情况下,表达式是什么并不重要,只是通过计算表达式生成的结果值。您真正需要的是创建一个。换句话说,消除所有布尔逻辑产生的噪音。一旦您将此技能添加到工具箱您可以自己开始回答这些类型甚至更复杂的问题

    void Main()
    {
        bool first = true;
        bool second = false;
        if(first){
            second = true;
            Console.WriteLine("One true");
        }else if(second){
            Console.WriteLine("Two trues");
        }else{
            //more like default, but you don't see this which is what matters
            Console.WriteLine("Three trues");
        }
    }

//Result:  One True

if
语句接受布尔表达式。在这种情况下,表达式是什么并不重要,只需要计算表达式产生的结果值。您真正需要的是创建一个。换句话说,消除所有布尔逻辑产生的噪音。一旦您将此技能添加到工具箱中,您就可以开始回答这些类型的问题,甚至更复杂的问题,你自己

    void Main()
    {
        bool first = true;
        bool second = false;
        if(first){
            second = true;
            Console.WriteLine("One true");
        }else if(second){
            Console.WriteLine("Two trues");
        }else{
            //more like default, but you don't see this which is what matters
            Console.WriteLine("Three trues");
        }
    }

//Result:  One True

太棒了。谢谢你的澄清太棒了。谢谢你的澄清。你试着看看发生了什么吗?因为第一个条件得到满足,其他条件(在本例中是其他条件)不会执行。无论对第一个条件中的变量做了什么更改。因为还有其他条件。在其他情况下,将对以下if进行计算是吗?我现在明白了。您是否尝试查看发生了什么情况?因为满足了第一个条件,其他条件(在本例中为其他条件)不会执行。无论第一个条件中的变量有何更改。因为还有其他情况。在其他情况下,将计算以下if是吗?我现在明白了。