28 lines
1.0 KiB
C#
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();
|
|
}
|
|
} |