Tag: 局部变量

为什么可以在同一个类中创建的另一个线程中访问局部变量?

我真的找不到关于这个确切主题的任何内容,所以如果问题已经存在,请引导我走向正确的方向。 根据我对.NET的了解,不可能跨不同的线程访问变量(如果该语句错误,请纠正我,这正是我在某处读到的)。 然而,现在在这个代码示例中,它似乎不应该工作: class MyClass { public int variable; internal MyClass() { Thread thread = new Thread(new ThreadStart(DoSomething)); thread.IsBackground = true; thread.Start(); } public void DoSomething() { variable = 0; for (int i = 0; i < 10; i++) variable++; MessageBox.Show(variable.ToString()); } } public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } […]

C#可重用函数转储局部变量的当前值

我想编写一个可重用的函数,我可以在任何方法中调用它来记录所有局部变量的快照。 例如: void somemethod() { int a = 1; string s = “something”; dumpLocalVariables(“step 1”, MethodInfo.GetCurrentMethod(), this); a++; string t = s + “else”; dumpLocalVariables(“step 2”, MethodInfo.GetCurrentMethod(), this); } 我想获得这样的控制台输出: step 1 Int32 a = 1 String s = something step 2 Int32 a = 2 String s = something String t = somethingelse 我想避免提供一个特定的局部变量名列表。 […]