C# zapewnia standardowe konstrukty sterowania przepływem — instrukcje warunkowe (, ), pętle (, , ) i rozgałęzienia (, , ) — plus nowoczesne rozszerzenia, takie jak wyrażenia switch i dopasowanie wzorców, które sprawiają, że kod jest bardziej zwięzły.
