Your Ultimate async / await Tutorial in C#


Let's take a look at this example of a CPU-bound asynchronous method.

Click run to see the console output

In the above program, we have added an async method, CalculateTotalAfterTaxAsync, that takes an argument of float which represents the value to calculate upon.

Inside the method, if you notice, we are awaiting a task created on a background thread. As mentioned previously, we use this methodology, CPU Bound asynchronous method, when we need to do some offline heavy calculation that doesn't rely on specific I/O operation.

Once the task is completed. it will resume the CalculateTotalAfterTaxAsync with the statements after the await line. So it will displaying the Total after calculating the tax.

Create your playground on
This playground was created on, our hands-on, knowledge-sharing platform for developers.
Go to