// simple method structure
public static Task<int> FooAsync(int num)
{
num+=5;
return Task.FromResult(num);
}
// calling function structure
public static async void Solve()
{
var temp = await FooAsync(i);
}
using(HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com")))
{
await this.responseLogger.LogResponseAsync(response);
return true;
}
static public async Task Name ()
{
Console.Write("hello ");
await Task.Delay(5000);
Console.WriteLine("world");
}
Live async and await the demontration of the image described in the source link.
// Sample 3: Async Task, simple version
// Starts and wait for the Task, get the result.
string result = await Read();
Console.WriteLine("Result: " + result);
// A Async Funktion thats return a Task<String>
static async Task<string> Read()
{
string rv = "";
Task task = new Task(ReadTask);
task.Start();
// Wait for finish
await task;
return rv; // Convertet to Task<string>
// Without Return-Value, is an Action<>
void ReadTask()
{
while (!System.IO.File.Exists("G:FILE")) System.Threading.Thread.Sleep(100);
rv = System.IO.File.ReadAllText("G:FILE");
}
}
// Sample 1: Async Task, with await for result
// Search for C# Async Function without await
// Starts the Task, that wait for G:FILE, then read all content and ends.
Task<string> ReadTask = Read();
Console.WriteLine("Before file exists...");
await ReadTask; // Wait for Result the Task; Create a file "G:FILEx", write Content, Rename to "FILE"
string res = ReadTask.Result;
Console.WriteLine("After:" + res);
// A Async Funktion thats return a Task<String>
static async Task<string> Read()
{
string rv = "";
Task task = new Task(ReadTask);
task.Start();
// Wait for finish
await task;
return rv; // Convertet to Task<string>
// Without Return-Value, is an Action<>
void ReadTask()
{
while (!System.IO.File.Exists("G:FILE")) System.Threading.Thread.Sleep(100);
rv = System.IO.File.ReadAllText("G:FILE");
}
}