我被@StephenHaunts這裏https://stephenhaunts.com/2014/10/10/simple-async-await-example-for-asynchronous-programming/#comments我將如何訪問此任務<String>在C#中的返回值?
下面我這篇文章有什麼的代碼最後返回語句,裏面LongRunningOperation目的。
private static async Task<string> LongRunningOperation()
{
int counter;
for (counter = 0; counter < 50000; counter++)
{
Console.WriteLine(counter);
}
return "Counter = " + counter;
}
現在我所知道的是:
由於我在調用這個
LongrunningOperation
內Task.Run
,它不管這個期待已久的方法默認情況下返回應返回。那麼爲什麼它沒有這樣做。如果我使用
Task.Result
屬性,那麼它將運行同步並阻止調用線程,這是不推薦的。
我要問的是:
我怎麼會得到這個返回在調用現場打印的價值?
爲什麼@Stephen在沒有必要的時候寫了這樣的陳述?
在此先感謝。
你是什麼意思*在不需要*的情況下寫了那條語句?該方法的返回類型是'異步任務',當然你**有**返回一個字符串或它不會編譯。 –