可能的重复项:
在 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;
保持当前循环,但跳到下一个迭代。
分离出来,你必须在第一个循环中有一个布尔变量(如 bool breakLoop = false;
),并在跳转当前循环之前将其设置为 true,如果紧接着 for 循环你脱离了,然后调用 breakLoop 为 true,调用另一个中断。