Async Concepts
Async Pipeline
Move data through named stages of an async-style pipeline.
Async Pipeline
AsyncPipeline.cs
using System;
class Program
{
static string RunStage(string stage, int value)
{
if (stage == "fetch")
{
return $"fetched={value}";
}
if (stage == "transform")
{
return $"transformed={value * 2}";
}
return $"saved={value}";
}
static void Main()
{
string stage = ;
int value = ;
string output = RunStage(stage, value);
Console.WriteLine($"stage={stage}");
Console.WriteLine(output);
}
}
using System;
class Program
{
static string RunStage(string stage, int value)
{
if (stage == "fetch")
{
return $"fetched={value}";
}
if (stage == "transform")
{
return $"transformed={value * 2}";
}
return $"saved={value}";
}
static void Main()
{
string stage = ;
int value = ;
string output = RunStage(stage, value);
Console.WriteLine($"stage={stage}");
Console.WriteLine(output);
}
}
using System;
class Program
{
static string RunStage(string stage, int value)
{
if (stage == "fetch")
{
return $"fetched={value}";
}
if (stage == "transform")
{
return $"transformed={value * 2}";
}
return $"saved={value}";
}
static void Main()
{
string stage = ;
int value = ;
string output = RunStage(stage, value);
Console.WriteLine($"stage={stage}");
Console.WriteLine(output);
}
}
using System;
class Program
{
static string RunStage(string stage, int value)
{
if (stage == "fetch")
{
return $"fetched={value}";
}
if (stage == "transform")
{
return $"transformed={value * 2}";
}
return $"saved={value}";
}
static void Main()
{
string stage = ;
int value = ;
string output = RunStage(stage, value);
Console.WriteLine($"stage={stage}");
Console.WriteLine(output);
}
}
using System;
class Program
{
static string RunStage(string stage, int value)
{
if (stage == "fetch")
{
return $"fetched={value}";
}
if (stage == "transform")
{
return $"transformed={value * 2}";
}
return $"saved={value}";
}
static void Main()
{
string stage = ;
int value = ;
string output = RunStage(stage, value);
Console.WriteLine($"stage={stage}");
Console.WriteLine(output);
}
}
using System;
class Program
{
static string RunStage(string stage, int value)
{
if (stage == "fetch")
{
return $"fetched={value}";
}
if (stage == "transform")
{
return $"transformed={value * 2}";
}
return $"saved={value}";
}
static void Main()
{
string stage = ;
int value = ;
string output = RunStage(stage, value);
Console.WriteLine($"stage={stage}");
Console.WriteLine(output);
}
}
using System;
class Program
{
static string RunStage(string stage, int value)
{
if (stage == "fetch")
{
return $"fetched={value}";
}
if (stage == "transform")
{
return $"transformed={value * 2}";
}
return $"saved={value}";
}
static void Main()
{
string stage = ;
int value = ;
string output = RunStage(stage, value);
Console.WriteLine($"stage={stage}");
Console.WriteLine(output);
}
}
using System;
class Program
{
static string RunStage(string stage, int value)
{
if (stage == "fetch")
{
return $"fetched={value}";
}
if (stage == "transform")
{
return $"transformed={value * 2}";
}
return $"saved={value}";
}
static void Main()
{
string stage = ;
int value = ;
string output = RunStage(stage, value);
Console.WriteLine($"stage={stage}");
Console.WriteLine(output);
}
}
using System;
class Program
{
static string RunStage(string stage, int value)
{
if (stage == "fetch")
{
return $"fetched={value}";
}
if (stage == "transform")
{
return $"transformed={value * 2}";
}
return $"saved={value}";
}
static void Main()
{
string stage = ;
int value = ;
string output = RunStage(stage, value);
Console.WriteLine($"stage={stage}");
Console.WriteLine(output);
}
}
async
Pipelines keep each stage small: one step prepares data, the next transforms it, and the final step records the result.