有人可以解釋爲什麼下面的公共異步Task DoStuff()方法仍然可以工作而不返回任何內容嗎?它沒有說無效,所以我認爲返回類型必須是任務。.Net任務類 - 請解釋
當我刪除了異步和等待來自DoStuff()方法關鍵字,編譯器給我一個「並非所有的代碼路徑返回一個值」錯誤。但是,如果添加async和await關鍵字,則儘管缺少方法簽名中的關鍵字,但似乎並不需要返回類型。我不明白!
什麼是一個任務?微軟解釋得很不好。謝謝。
namespace Async_and_Await_Example
{
class Program
{
static void Main(string[] args)
{
AsyncAwaitDemo demo = new AsyncAwaitDemo();
demo.DoStuff();
for (int i = 0; i < 100; i++)
{
Console.WriteLine("Working on the Main Thread...................");
}
}
}
public class AsyncAwaitDemo
{
public async Task DoStuff()
{
await Task.Run(() =>
{
CountToFifty();
});
}
private static async Task<string> CountToFifty()
{
int counter;
for (counter = 0; counter < 51; counter++)
{
Console.WriteLine("BG thread: " + counter);
}
return "Counter = " + counter;
}
}
}