私有变量在异步方法中具有不同的值

时间:2018-09-07 03:21:43

标签: c# winforms async-await

我有两个私有变量,它们在表单加载时填充。

private int _days = 0;
private int _calc = 0;

public override void OnLoad(obejct sender, EventArgs e)
{
    ...
    _days = 2;
    _calc = 500;
    ...
}

然后将这些私有变量与以下形式的async方法一起使用。此方法是此窗体的基类方法的替代方法。

public override async void Populate(object sender, EventArgs e)
{
    ...
    int b = _days; // _days = 0 here, but should be 2
    int x = _calc; // _calc is 500
    ...
}

调试和查看专用变量_days时。在此处将其设置为0,但希望使用其他_calc变量500

那是为什么?

0 个答案:

没有答案