簡體   English   中英

在C#中檢測到無法訪問的代碼

[英]Unreachable code detected in C#

這段代碼顯示了無法訪問的代碼,在這里我錯過了嗎? 我正在使用C#和ASP.NET。 當我運行此代碼時,Response.Redirect(“ Upload Process.aspx?QuizID =” + id +“”); 永遠不會到達這里。

   if (Page.IsValid)
        {
            string number = ddlNumber.SelectedValue.ToString();
            string title = txtTitle.Text;
            string level = txtLevel.Text;
            string duration = txtDuration.Text;

            Quiz m = new Quiz
            {
                NumberOfQuestion = int.Parse(number),
                Title = title,
                Level = char.Parse(level),
                Duration = int.Parse(duration)
            };
            db.Quizs.InsertOnSubmit(m);
            db.SubmitChanges();

            string id ="";
            var q = from Quiz in db.Quizs where Quiz.Title == title select Quiz;
            foreach(var p in q)
            {
                id = p.QuizID.ToString();
            }

            for (int a = 0; 0 < int.Parse(number); a++)
            {
                Question o = new Question
                {
                    QuizID = int.Parse(id)

                };
                db.Questions.InsertOnSubmit(o);
                db.SubmitChanges();
            }
            Response.Redirect("Upload Process.aspx?QuizID=" + id + "");
        }

注意這個循環中number永遠不會改變

for (int a = 0; 0 < int.Parse(number); a++)
{
    Question o = new Question
    {
        QuizID = int.Parse(id)

    };
    db.Questions.InsertOnSubmit(o);
    db.SubmitChanges();
}

如果在開始循環時0 < int.Parse(number)為true,則在循環繼續執行時它將繼續為true。

你確定不是嗎

for (int a = 0; a < int.Parse(number); a++)

想一想,什么時候0會大於數字?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM