C# ले मानक नियन्त्रण-प्रवाह निर्माण — सर्तहरु (if, ), लूपहरु (, , ), र शाखा (, , ) — प्लस आधुनिक सुधारहरु जस्तै switch अभिव्यक्ति र प्याटर्न म्याचिङ्ग जसले कोड अझ संक्षिप्त बनाउँछ, प्रदान गर्छ।
switchforforeachwhilebreakcontinuereturnif (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 अभिव्यक्ति संक्षिप्त छ (मान फर्काउँछ, कुनै break छैन), र शक्तिशाली प्याटर्न म्याचिङ्ग (प्रकारहरु, सर्तहरु, र अझ बढी म्याचिङ्ग) समर्थन गर्छ — यो विस्तृत परम्परागत switch मा एक प्रमुख सुधार हो।
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 (कुनै पनि IEnumerable पुनरावृत्ति गर्दै) संग्रहको लागि मुहाँरो लूप हो।
foreach (var item in items)
{
if (item.Skip) continue; // next iteration
if (item.Stop) break; // exit loop
}
return result; // exit method
नियन्त्रण प्रवाह प्रत्येक कार्यक्रममा तर्क अभिव्यक्त गर्नको लागि आधारभूत संयन्त्र हो, त्यसैले C# को निर्माणहरु बुझ्नु मौलिक दैनिक ज्ञान हो।
जबकि आधारहरु मानक छन्, आधुनिक C# सुधारहरु जान्न लायक छन्: switch अभिव्यक्ति (C# 8+) परम्परागत switch भन्दा महत्त्वपूर्ण सुधार हो — संक्षिप्त, मान-फर्काउने, कुनै फल-थ्रु बग छैन (कुनै भुलिएको break छैन), र प्याटर्न म्याचिङ्ग (प्रकार, सर्त, मान, र संरचनामा म्याचिङ्ग) समर्थन गर्छ, जसले जटिल शर्तात्मक तर्क नेस्टेड if-else श्रङ्खलाभन्दा साफ बनाउँछ।
null-coalescing अपरेटरहरु (??, ??=) सफा null ह्यान्डलिङ्ग प्रदान गर्छन्, र foreach संग्रह पुनरावृत्ति गर्नको लागि मुहाँरो तरिका हो।
यी निर्माणहरु जान्नु र आधुनिक, अझ अभिव्यक्तिपूर्ण फारमहरु प्राथमिकता दिनु (verbose switch कथनहरु भन्दा switch अभिव्यक्ति प्याटर्न म्याचिङ्गसँग, पूर्वनिर्धारितहरुको लागि null-coalescing) सफा, मुहाँरो C# लेख्नको लागि दैनिक ज्ञान हो।
Switch अभिव्यक्ति र प्याटर्न म्याचिङ्ग विशेष गरी आधुनिक C# को विकास अझ कार्यात्मक, संक्षिप्त कोडको दिशामा प्रतिबिम्बित गर्छ, तिनलाई राम्रो कोड लेख्नु र वर्तमान C# कोडबेसहरु जो यी सुधारहरु व्यापक रूपमा प्रयोग गर्छन् पढ्न दुवै को लागि महत्त्वपूर्ण बनाउँछ।