我只是在C#中使用.net反射器反编译了一个汇编文件,并注意到了很多我以前从未遇到过的表达式堆栈表达式。根据我的理解,编译器用这个表达式替换变量,但我不确定。它们用于什么,是由编译器生成的?以下代码的不完整示例:
public void DisplayDestinationBrowser()
{
System.Windows.Forms.OpenFileDialog dialog2 = new System.Windows.Forms.OpenFileDialog();
System.Windows.Forms.OpenFileDialog expressionStack_45_1 = dialog2;
string expressionStack_45_0 = "";
System.Windows.Forms.OpenFileDialog expressionStack_10_2 = expressionStack_45_1;
string expressionStack_10_1 = expressionStack_45_0;
int expressionStack_10_0 = 0xf7b1;
}
答案 0 :(得分:3)
这些是由您的反编译器生成的。
编译器根本不保存变量名。