检测到C#无法访问的代码

Jam*_*mie 10 c# unreachable-code

我在下面的代码中的i ++点上在Visual Studio中收到"无法访问代码检测到"消息.你能发现我做错了什么吗?

try
{
    RegistryKey OurKey = Registry.CurrentUser;
    OurKey.CreateSubKey("Software\\Resources\\Shared");
    OurKey = OurKey.OpenSubKey("Software\\Resources\\Shared", true);
    for (int i = 0; i < cmbPaths.Items.Count; i++) //<---- problem with i
    {
        OurKey.SetValue("paths" + i, cmbPaths.Items[i]);
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

Jur*_*uri 24

问题是这实际上不是一个循环.你在休息时没有任何条件,所以你可以等同地写出类似的东西

if(cmbPath.Items.Count > 0)
{
   OurKey.SetValue("paths" + 0, cmbPaths.Items[0]);
}
Run Code Online (Sandbox Code Playgroud)

或者你必须纠正类似的东西

for (int i = 0; i < cmbPaths.Items.Count; i++) 
{
   OurKey.SetValue("paths" + i, cmbPaths.Items[i]);

   if(someConditionHolds)
      break;
}
Run Code Online (Sandbox Code Playgroud)


wef*_*fwe 11

你在第一次迭代结束之前就已经脱离了循环.