代码不会执行所有

The Code Won't Execute all

我有以下代码:

private void G1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
    {

            decimal quantity = 0, cost = 0;
            decimal   totalstock = 0, newtotalstock = 0;
            if (decimal.TryParse(G1.Rows[e.RowIndex].Cells["RealExport"].Value.ToString(), out quantity) && decimal.TryParse(G1.Rows[e.RowIndex].Cells["Cost"].Value.ToString(), out cost))
            {
                decimal price = quantity * cost;
                G1.Rows[e.RowIndex].Cells["Total"].Value = price.ToString();
            }

            if (decimal.TryParse(G1.Rows[e.RowIndex].Cells["TotalStock"].Value.ToString(), out totalstock) && decimal.TryParse(G1.Rows[e.RowIndex].Cells["RealExport"].Value.ToString(), out quantity))
            {
                newtotalstock = totalstock - quantity;
                G1.Rows[e.RowIndex].Cells["TotalStock"].Value = newtotalstock.ToString();
                return;
            }
            decimal avai = 0, newavai = 0;
            if (decimal.TryParse(G1.Rows[e.RowIndex].Cells["RealExport"].Value.ToString(), out quantity) && decimal.TryParse(G1.Rows[e.RowIndex].Cells["AvailableStock"].Value.ToString(), out avai))
            {
                newavai = avai - quantity;
                G1.Rows[e.RowIndex].Cells["AvailableStock"].Value = newavai.ToString();
                return;
            } }

问题是,它只执行 3 中的 2 代码,我的意思是,当计算 newtotalstock 时,代码将结束。

我尝试将newavai改成上面的up,结果是一样的,会计算newavai并通过newtotalstock。我不知道为什么,所有的代码都是正确的。请帮忙

word "return" 结束函数,如果你使用的是 void 类型的方法,你真的不需要使用 return,除非你想在某个时候退出它。 "return"之后的代码将永远不会执行(唯一的例外可能是在使用"yield return"期间,但那是另一回事)。

void someMethod()
{
  doSomething();
  return;
  StartWorldWarThree(); //no waries, this will never be executed :)
}

此外,您始终可以在代码中设置断点(单击 window 的左边框,或者只是阅读它),然后检查您的代码是如何执行的:) F10/F11 在您的代码中执行步骤,F5 转到下一个断点或结束执行,如果没有更多断点。

考虑到所有条件都为真 return;将停止执行其余代码,如果要执行 3,请删除 return;并将其放在方法的最后一行

void Method() {
  if() {}
  if() {}
  if() {}
  return;
}

或者根本不放,因为那个方法是无效的,不需要它