我需要比较两个注册表项,即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循环..
谢谢..
答案 0 :(得分:3)
只需在完成前添加一个break;
即可结束循环。
答案 1 :(得分:2)
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).aspx http://msdn.microsoft.com/en-us/library/923ahwt1.aspx
答案 2 :(得分:0)
使用指令break
在满足某些特定条件时停止循环执行
foreach (string skey2 in mainkeys2)
{
...
if (mcnt3 > 0)
{
break;
}
...
}
答案 3 :(得分:0)
听起来你需要一个break;
,你想要循环你当前的结束。
但是,您也可以使用continue;
保持当前循环,但跳到下一次迭代。
如果你想让它摆脱两个for循环,你必须在第一个循环中有一个布尔变量(如bool breakLoop = false;
),并在跳转当前循环之前将其设置为true,并放置和如果在for循环之后你就爆发了,然后如果breakLoop为真则调用,再调用另一个中断。