Use Task.FromResult() and Task.Run() when changing a normal method to async function.
Use (Task).GetAwaiter().GetResult() to get the result from an async method in a normal function.
static async void Main(string[] args)
{
int a = await ResultZeroAsync();
int b = ResultNumberAsync().GetAwaiter().GetResult();
}
static async Task<int> ResultZeroAsync()
{
return await Task.FromResult(0);
}
static async Task<int> ResultNumberAsync()
{
return await Task.Run(() => ResultZero());
}
static int ResultZero() => 0;