How can I fix the error : “Unreachable Code Detected”

后端 未结 4 1614
太阳男子
太阳男子 2020-12-04 00:22
public partial class KalenderLeeftijd : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void calBirthDate_SelectionChanged(o         


        
相关标签:
4条回答
  • 2020-12-04 00:46

    It's just because your code comes after the return statement.

    The return statement terminates execution of the method in which it appears and returns control to the calling method. It can also return an optional value. If the method is a void type, the return statement can be omitted.

    If the return statement is inside a try block, the finally block, if one exists, will be executed before control returns to the calling method.

    http://msdn.microsoft.com/en-us/library/1h3swy84%28v=vs.100%29.aspx

    solution (obvious) :

    move the unreachable code before the return statement.

    0 讨论(0)
  • 2020-12-04 00:59

    The return statement terminates the execution of a function and returns control to the calling function. Execution resumes in the calling function at the point immediately following the call

    If no return statement appears in a function definition, control automatically returns to the calling function after the last statement of the called function is executed

    In Your Code :

    private int CountLeapYears(DateTime startDate)
    {
        int count = 0;
        for (int year = startDate.Year; year <= DateTime.Now.Year; year++)
        {
            if (DateTime.IsLeapYear(year))
            {
                DateTime february29 = new DateTime(year, 2, 29);
                if (february29 >= startDate && february29 <= DateTime.Now.Date)
                {
                    count++;
                }
            }
        }
        return count;//The Execution will be terminated here,the next lines will become unreachable 
        **String** answer = GetAnswer();
        Response.Write(lblAntwoord); 
    }
    }
    

    MSDN LINK :

    C : https://msdn.microsoft.com/en-us/library/sta56yeb.aspx

    c# : https://msdn.microsoft.com/en-us/library/1h3swy84.aspx

    0 讨论(0)
  • 2020-12-04 01:01

    The statement:

    return count;
    

    Exits the function. Therefore,

    answer = GetAnswer(); 
    Response.Write(lblAntwoord);  
    

    cannot be reached.

    0 讨论(0)
  • 2020-12-04 01:09

    Unreachable code is a compiler warning, not error. You have three options:

    • Remove the unreachable code.
    • Stop treating warnings as errors in the project properties.
    • Move the return statement to below what is currently unreachable.

    It is unreachable because the flow of the method exits at the return statement, and thus will never execute the code below. The compiler can determine this and so can report it. Like I said, these are actually compiler warnings and won't stop a successful build unless you have configured the project to treat warnings as errors.

    0 讨论(0)
提交回复
热议问题