C# - 当前上下文中不存在变量

Pat*_*ick 1 c# variables scope declare visual-studio

我有一个问题似乎无法解决.

我创建了一个名为test的类函数,并在函数中声明了一个变量.在下一行,我用字符串填充函数.

在调试期间,变量没有被声明,VS中的变量观察者告诉我变量在当前上下文中不存在.

你能帮助我解决这个问题吗?

这是我的代码:

public void Test()
{
    string DirectoryPath;
    DirectoryPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.InternetCache);
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 14

我的猜测是你正在使用Release配置 - 优化器可能已经删除了变量,因为除了调试之外它没有意义.您为其分配了一个值,但从未读过它.在Debug配置中,我希望它没问题(但可能会产生警告).

编辑:当然,这是假设你是Test(),你不能看到变量的方法.如果Test()已经完成,那么Likurg的答案可能更合适.

  • @NikhilAgrawal:它让我感到惊讶,它确实如此,但我认为没有理由不这样做 - 发布版本旨在针对运行而不是调试进行优化...如果变量毫无意义,为什么要对它做任何事情?仍然需要执行方法调用,但不需要将值赋给变量. (2认同)
  • 哎呀...这太简单了......谢谢乔恩! (2认同)