在当前上下文错误中不存在,但它应该 - ASP.NET c#

mat*_*kov 1 c# asp.net

这是代码:

for (int i = 0; i < Model.Count; i++)
{
    Writer.WriteBeginTag("li");
    if (i % 2 == 1)
    {
            string myVar  = "even ";
    }
    if ((i+1) % 3 == 0)
    {
        myVar += "third";
    }
    Writer.WriteAttribute("class", ""); // I want to use myVar here
    Writer.Write(HtmlTextWriter.TagRightChar);
    Writer.WriteEndTag("li");
}
Run Code Online (Sandbox Code Playgroud)

我不熟悉.NET或C#.我The name "myVar" does not exist in the current context在第二个错误myVar.如果我对这一行进行评论,那么我就会The variable "myVar" is assigned but its value is never used.在第一行中留言myVar.我真的不明白这将如何或为什么会脱离背景/范围.

有任何想法吗?

Fem*_*ref 7

您正在myVar第一个if语句的范围内创建变量,因此在第二个语句中不可用.您需要事先创建它:

string myVar = "";
if(...)
{
  //use of myVar
}
if(...)
{
 //use of myVar
}
Run Code Online (Sandbox Code Playgroud)