参数中的名称与两种不同的方法相同

时间:2013-02-18 07:53:53

标签: c# visual-studio-debugging

请注意这张照片 enter image description here 我在top方法中设置了断点。但是如果查看底部方法的参数,你可以看到顶部方法的值。我知道这是因为命名但我想知道为什么?与CLR或编译器相关?

3 个答案:

答案 0 :(得分:2)

Visual Studio可识别您正在悬停的符号。它会找到字符串“conference”。要显示该值,调试器将在当前范围内查找具有该名称的符号。

答案 1 :(得分:2)

这只是与调试器相关的内容,而不是CLR或其他任何内容。在任何给定的范围内,只有一个可访问的变量或具有指定名称的对象,因此调试器不会尝试区分出现在不同位置的相同名称。

将鼠标悬停在名称上等同于在调试器的监视窗口中为varialbe添加 watch 。从哪里选择名称并不重要。

答案 2 :(得分:1)

Porgram执行适用于stack,程序在其上推送valuesinstructions

所以观察窗口查询名称与值的“哈希表”,并显示结果。

在这个具体案例中,您有2个具有相同名称的变量,其中一个变量已在堆栈中可用,因此监视窗口只显示其结果。