在没有完成的情况下中断 foreach 循环



可能的重复项:
在 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 循环。.

谢谢。。

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

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

continue;关键字用于中断循环并让循环再次继续循环。

请参考,

破:http://msdn.microsoft.com/en-us/library/adbctzc4(v=vs.80).aspx

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

使用入侵break在满足某些特定条件时停止循环执行

foreach (string skey2 in mainkeys2)
{
   ...
   if (mcnt3 > 0)
   {
       break; 
   }
   ...
}

听起来你需要一个break;,你想把你的当前循环到结束。

但是,您也可以使用 continue; 保持当前循环,但跳到下一个迭代。

如果你想让它从两个 for 循环中

分离出来,你必须在第一个循环中有一个布尔变量(如 bool breakLoop = false; ),并在跳转当前循环之前将其设置为 true,如果紧接着 for 循环你脱离了,然后调用 breakLoop 为 true,调用另一个中断。

最新更新