在 MVC 控制器中,我定义了一个字符串变量,但我仍然收到消息:“名称 'test1' 在当前上下文中不存在”。
这是我的代码:
public ActionResult About()
{
string test1;
test1 = "A";
return View();
}
我试图在所有 3 个语句上都设置一个断点,但它只在“return”命令上停止。这是一张来自 Visual Studio 2012 断点的图片:
有任何想法吗?
在 MVC 控制器中,我定义了一个字符串变量,但我仍然收到消息:“名称 'test1' 在当前上下文中不存在”。
这是我的代码:
public ActionResult About()
{
string test1;
test1 = "A";
return View();
}
我试图在所有 3 个语句上都设置一个断点,但它只在“return”命令上停止。这是一张来自 Visual Studio 2012 断点的图片:
有任何想法吗?
对于调试,请将构建配置更改为 Debug 而不是 Release。Release 配置可以优化您的代码并防止调试器看到一些局部变量。
在给它赋值后你永远不会使用这个变量,所以编译器足够聪明,知道它没有意义,它可以丢弃它。
这是编译器看到的:
public ActionResult About()
{
string test1; // Declare a variable
test1 = "A"; // Do something meaningless with it
return View(); // Don't use it, so throw away the two previous statements
}
编译器足够聪明,知道实际上什么都不做的代码可以被忽略。这是基本的优化——不要编译什么都不做的代码。
test1
可能已被优化,因为您没有在声明它的范围内使用它。