C# 奇怪的问题,上下文中不存在变量

C# 奇怪的问题,上下文中不存在变量,c#,visual-studio-2010,C#,Visual Studio 2010,我想我疯了……这是怎么回事 我重建、清理、建造等等……同样的事情也会发生。好的,所以我想出来了。事实证明,要么调试器跳过这些变量,要么asp.net足够聪明,不会对该变量执行任何操作,除非该变量后来在代码中使用过 一旦我使用了变量,Console.WriteLine(userAgent),它就出现了。好的,所以我找到了它。事实证明,要么调试器跳过这些变量,要么asp.net足够聪明,不会对该变量执行任何操作,除非该变量后来在代码中使用过 一旦我使用了变量,Console.WriteLine(us

我想我疯了……这是怎么回事


我重建、清理、建造等等……同样的事情也会发生。

好的,所以我想出来了。事实证明,要么调试器跳过这些变量,要么asp.net足够聪明,不会对该变量执行任何操作,除非该变量后来在代码中使用过


一旦我使用了变量,
Console.WriteLine(userAgent)
,它就出现了。

好的,所以我找到了它。事实证明,要么调试器跳过这些变量,要么asp.net足够聪明,不会对该变量执行任何操作,除非该变量后来在代码中使用过


一旦我使用了变量,
Console.WriteLine(userAgent)
,它就出现了。

您是否尝试过删除所有断点并重新设置它们
agent
似乎不存在,可能是一个旧的断点。清除解决方案倾向于清除VS。在哪里定义了
returnData
?它实际上在同一范围内吗?这是silverlight应用程序吗?我从那里知道了问题所在。编译器可能已经优化了变量。请注意,第117、120、121和122行的存储都是死的,因此编译器可能已经完全删除了这些代码行。直到第129行完成,变量才存在。您是否尝试删除所有断点并重新设置它们
agent
似乎不存在,可能是一个旧的断点。清除解决方案倾向于清除VS。在哪里定义了
returnData
?它实际上在同一范围内吗?这是silverlight应用程序吗?我从那里知道了问题所在。编译器可能已经优化了变量。请注意,第117、120、121和122行的存储都是死的,因此编译器可能已经完全删除了这些代码行。直到第129行完成,变量才存在。是的,编译器优化了变量,因为实际上没有人使用它。是的,我发现这很有趣。虽然它困扰着我(当我不理解它时),但它实际上是编译器的一个非常酷和有用的“功能”。是的,编译器优化了变量,因为没有人真正使用它。是的,我发现这非常有趣。虽然它困扰着我(当我不理解它时),但它实际上是编译器的一个非常酷和有用的“特性”。