请注意这张图片
,我在顶部方法中设置了断点。但是如果查看底部方法的参数,您可以看到顶部方法的值。我知道这是因为命名但我想知道为什么?与CLR
或编译器有关?
user1968030
问问题
63 次
3 回答
2
Visual Studio 识别您悬停的符号。它将找到字符串“会议”。为了显示该值,调试器将在当前范围内查找具有该名称的符号。
于 2013-02-18T07:58:18.457 回答
2
这只是与调试器相关的东西,而不是 CLR 或其他任何东西。在任何给定范围内,只有一个具有指定名称的可访问变量或对象,因此调试器不会尝试区分出现在不同位置的相同名称。
将鼠标悬停在名称上相当于在调试器的监视窗口中为变量添加监视。你从哪里取的名字并不重要。
于 2013-02-18T07:58:35.203 回答
1
程序执行适用于stack
程序推送的位置values
及其instructions
上。
因此,观察窗口查询名称与值的“哈希表”并向您显示结果。
在这个具体的例子中,你有 2 个同名的变量,其中一个已经在堆栈中可用,所以监视窗口只显示它的结果。
于 2013-02-18T08:00:31.400 回答