有没有一种方法可以通知C#编译器我不想等待异步调用?

时间:2020-06-30 14:33:23

标签: c# task-parallel-library

给出如下代码(用于测试):

            tcpListener = new TcpListener(IPAddress.Any, port);
            tcpListener.Start();
            while (!cancellation.IsCancellationRequested)
            {
                var client = await tcpListener.AcceptTcpClientAsync();
                //Monitor services TCP messages to this client
                var monitor = new Monitor(client);
                monitor.MonitorAsync(cancellation.Token);
            }

我明确地不想在awaitMonitorAsync,因为我希望每个Monitor都可以并行运行,但是Visual Studio警告我(当然是正确的)代码执行将继续,而无需等待MonitorAsync完成。

我更喜欢避免编译器警告,而将其视为我做错/不明智操作的标志。那么有没有一种“适当的”方法来满足编译器的故意行为呢?

1 个答案:

答案 0 :(得分:2)

只需分配任务,然后使用discard operator忽略它即可:

_ = monitor.MonitorAsync(cancellation.Token);