我想在for循環中執行一些操作並使用'await Task.Delay()'。 但我總是空的,它應該返回10爲什麼異步任務<TResult>總是返回空值
public class Test {
public async Task<int> test() {
int sum=0;
for (int i = 0; i < 10; i++) {
System.Diagnostics.Debug.Write("start loop");
sum++;
await Task.Delay(1000);
System.Diagnostics.Debug.Write("finish loop");
}
return sum;
}
}
//主
Test test = new Test()
var test1 = test.test().Result;
您在檢查/打印值之前是否等待它? – FCin
什麼是空的?我不明白。你的意思是它返回零嗎?另外,它將如何達到55,數學不會加起來。 –
請說明你是怎麼稱呼這個的,我猜你不會等待任務完成。加上你的代碼的預期結果是10,而不是55.如果你想55'sum ++;'改變爲'sum + = i;' –