假設我們有示例代碼(VS2015,的WinForms,淨4.6.1):不正確的值,而在Visual Studio調試2015年
List<int> items = new List<int>();
private async Task test(int id)
{
id = 1;
int id_real = id;
int index = items.FindIndex(x => x == id);
}
private async void button1_Click(object sender, EventArgs e)
{
await test(0);
}
這是怎麼回事可能?有趣的部分 - 它只是Visual Studio觀察者問題,運行時結果仍然正確。
現在我知道它只發生在VS2015,並導致這種行爲 - 測試方法中的最後一個字符串。
它的工作好,我在VS2017 ...你有嘗試過嗎?如果你看看當地人窗口而不是觀看會發生什麼? –
@JonSkeet,是的,我也試過VS2013和VS2017 - 沒有問題。本地窗口顯示與手錶相同的結果。 –