-1

可能重复:
在 C# 中退出 Foreach 循环

我需要比较两个注册表项,即 HKEY_USER 和 HKEY_CURRENT_USER。

I am using two methods..both are having foreach loops..

第一个方法调用另一个也有 foreach 循环的方法。执行所需操作后,条件应转到第一种方法中的第一个循环,并且条件应转到下一个循环。

简单地说,打破内循环并保持外循环。

我想在执行特定方法后打破内部循环..

        string[] mainkeys1 = mckey.GetSubKeyNames();

        foreach (string skey1 in mainkeys1)
         {
          ckey = skey1;

           mckey = l1.OpenSubKey(_ckey);

           int mcnt2 = mckey.SubKeyCount;

           if (mcnt2 > 0)
            {
             Getvaluescur();
             RegistryKey l2 = mckey;

             string[] mainkeys2 = mckey.GetSubKeyNames();

                            foreach (string skey2 in mainkeys2)
                            {
                                ckey = skey2;

                                mckey = l2.OpenSubKey(_ckey);

                                int mcnt3 = _mckey.SubKeyCount;

                                if (mcnt3 > 0)
                                  ....
                                  ....

上面的代码也在 Foreach 循环内。我想在执行完所需的方法后打破循环。

谁能指导我在没有完成的情况下打破 Foreach 循环..

谢谢..

4

4 回答 4

3

只需break;在完成前添加一个要结束循环的位置。

于 2012-06-19T13:21:45.873 回答
2

break;关键字用于打破编程中的循环。

andcontinue;关键字用于中断循环并让循环继续循环。

请参考,

休息: http: //msdn.microsoft.com/en-us/library/adbctzc4 (v=vs.80).aspx和,

继续: http: //msdn.microsoft.com/en-us/library/923ahwt1 (v=vs.71).aspx http://msdn.microsoft.com/en-us/library/923ahwt1.aspx

于 2012-06-19T13:25:43.833 回答
0

break当满足某些特定条件时,使用指令停止循环执行

foreach (string skey2 in mainkeys2)
{
   ...
   if (mcnt3 > 0)
   {
       break; 
   }
   ...
}
于 2012-06-19T13:21:42.643 回答
0

听起来你需要一个break;你想循环你当前的地方。

但是,您也可以使用continue;停留在当前循环中,但跳到下一次迭代。

如果你想让它跳出两个 for 循环,你必须在第一个循环内有一个布尔变量(如bool breakLoop = false;),并在跳转当前循环之前将其设置为 true,并将 if 放在 for 循环之后你爆发了of 然后调用,如果 breakLoop 为真,则调用另一个中断。

于 2012-06-19T13:28:26.340 回答