C# inatoa miundo ya kawaida ya udhibiti wa mtiririko — masharti (, ), loops (, , ) na matawi (, , ) — pamoja na maboresho ya kisasa kama switch expressions na pattern matching ambayo hufanya msimbo kuwa sukutu zaidi.
ifswitchforforeachwhilebreakcontinuereturnif (score >= 90)
grade = "A";
else if (score >= 80)
grade = "B";
else
grade = "F";
// ternary and null-coalescing
string status = age >= 18 ? "adult" : "minor";
string name = input ?? "default"; // ?? — use default if input is null
name ??= "fallback"; // ??= assign if null
// traditional switch
switch (day)
{
case "Sat":
case "Sun":
type = "weekend";
break; // break required (no fall-through)
default:
type = "weekday";
break;
}
// switch EXPRESSION (C# 8) — concise, returns a value, with pattern matching
string type = day switch
{
"Sat" or "Sun" => "weekend",
_ => "weekday", // _ = default
};
// pattern matching in switch
string describe = obj switch
{
int n when n > 0 => "positive int",
string s => $"string of length {s.Length}",
null => "null",
_ => "other",
};
switch expression ya kisasa ni sukutu (irudi thamani, hakuna break), na inasupport pattern matching wenye nguvu (kulinganisha aina, masharti, na zaidi) — uboresho mkubwa kuliko switch ya jadi iliyojaa maneno.
for (int i = 0; i < 10; i++) { }
foreach (var item in collection) { } // iterate any IEnumerable
while (condition) { }
do { } while (condition); // runs at least once
foreach (kutembeza IEnumerable yoyote) ni njia ya kawaida ya kutembeza mkusanyiko.
foreach (var item in items)
{
if (item.Skip) continue; // next iteration
if (item.Stop) break; // exit loop
}
return result; // exit method
Udhibiti wa mtiririko ni utaratibu wa msingi wa kueleza mantiki katika kila programu, kwa hiyo kuelewa miundo ya C# ni ujuzi wa msingi wa kila siku.
Japo miundo ya msingi ni ya kawaida, maboresho ya kisasa ya C# yanajifaa kujua na kuitumia: switch expression (C# 8+) ni uboresho mkubwa kuliko switch ya jadi — sukutu, irudi thamani, hakuna matatizo ya kuanguka (hakuna break iliyosahaulika), na inasupport pattern matching (kulinganisha aina, masharti, maadili, na muundo), ambayo hufanya mantiki ngumu ya masharti kuwa safi sana zaidi ya chain ya if-else iliyonyongwa.
Null-coalescing operators (??, ??=) hutoa kushughulikia null kwa nevu, na foreach ni njia ya kawaida ya kutembeza mkusanyiko.
Kujua miundo hii na kupendelea fomu za kisasa, zenye ufahamaji zaidi (switch expressions na pattern matching badala ya switch statements iliyojaa maneno, null-coalescing kwa chaguomsingi) ni ujuzi wa kila siku wa kuandika msimbo safi, wa kawaida wa C#.
Switch expression na pattern matching hasa zinaakisi maendeleo ya C# ya kisasa kuelekea msimbo wenye kazi zaidi, sukutu zaidi, kwa hivyo ni muhimu kuelewa kwa madhumuni yote ya kuandika msimbo bora na kusoma codebase za C# za sasa ambazo zinatumia vipengele hivi sana.