CSharpProjekt/Async_Await/Ex4.cs

28 lines
1.0 KiB
C#

using System;
using System.Threading.Tasks;
public class Ex4
{
public static async Task Run()
{
/* Example working with Tasks and awaiting them later */
var lowerCaseString = "i want to be an upper case string";
Console.WriteLine("main: " + lowerCaseString);
// Start the task but do not await yet
Task<string> upperCaseTask = WorkOnStringAsync(lowerCaseString);
Console.WriteLine("main: WorkOnStringAsync has been called, doing other work...");
// Now await the result
Console.WriteLine("main: Now waiting for the result");
var upperCaseString = await upperCaseTask;
Console.WriteLine("main: " + upperCaseString);
}
private static async Task<string> WorkOnStringAsync(string s)
{
Console.WriteLine("Task: Async task started");
Console.WriteLine("Task: Waiting for 2 sec");
await Task.Delay(2000);
Console.WriteLine("Task: Done waiting, returning the upper case string");
return s.ToUpper();
}
}