Search code examples
c#unreachable-code

C# Unreachable code detected


I'm getting a "Unreachable code detected" message in Visual Studio at the point i++ in my code below. Can you spot what I've done wrong?

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;
    }
}

Solution

  • The problem is that this actually isn't a loop. You don't have any condition on the break so you could equivalently write something like

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

    Alternatively you have to correct with something like

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