1.  
  2. // using System.Diagnostics;
  3. // using System.Threading.Tasks;
  4.  
  5. // This Click event is marked with the async modifier.
  6. private async void startButton_Click(object sender, RoutedEventArgs e)
  7. {
  8. await DoSomethingAsync();
  9. }
  10.  
  11. private async Task DoSomethingAsync()
  12. {
  13. Taskint delayTask = DelayAsync();
  14. int result = await delayTask;
  15.  
  16. // The previous two statements may be combined into
  17. // the following statement.
  18. //int result = await DelayAsync();
  19.  
  20. Debug.WriteLine("Result: " + result);
  21. }
  22.  
  23. private async Taskint DelayAsync()
  24. {
  25. await Task.Delay(100);
  26. return 5;
  27. }
  28.  
  29. // Output:
  30. // Result: 5
  31.