在C#中的控制台应用程序异步?
我有这个简单的代码:
public static async Task<int> SumTwoOperationsAsync(){ var firstTask = GetOperationOneAsync(); var secondTask = GetOperationTwoAsync(); return await firstTask + await secondTask;}private async Task<int> GetOperationOneAsync(){ await Task.Delay(500); // Just to simulate an operation taking time return 10;}private async Task<int> GetOperationTwoAsync(){ await Task.Delay(100); // Just to simulate an operation taking time return 5;}
大。这个编译。
但是让我们说我有一个控制台应用程序,我想运行上面的代码(调用SumTwoOperationsAsync()
)
static void Main(string[] args) { SumTwoOperationsAsync(); }
但我读过,(使用时sync
),我不得不一路同步向上和向下 :
问题:这是否意味着我的Main
功能应该标记为async
?
那不可能是因为存在编译错误:
无法使用“async”修饰符标记入口点
如果我理解异步的东西,线程将进入Main
函数----> SumTwoOperationsAsync
---->将调用这两个函数并将被输出。但直到SumTwoOperationsAsync
我错过了什么?