我想在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;' –