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 मध्ये पुनरावृत्ती) संग्रहांसाठी idiomaticatic लूप आहे।
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 पेक्षा महत्त्वाची सुधारणा आहे — संक्षिप्त, मूल्य परत करते, कोणत्याही fall-through bugs नाही (break विसरले नाही), आणि शक्तिशाली पॅटर्न मिलान समर्थन करते (प्रकार, अटी, मूल्य आणि संरचना मिलान), जो जटिल सशर्त तर्क नेस्टेड if-else साखळी पेक्षा अधिक स्वच्छ बनवते।
null-coalescing ऑपरेटर (??, ??=) स्वच्छ null हाताळणी प्रदान करतात, आणि foreach हा संग्रहांमध्ये पुनरावृत्ती करण्याचा idiomaticatic मार्ग आहे।
या रचनांची जाणीव असणे आणि आधुनिक, अधिक व्यक्तिप्रकाशक रूप (शब्दवाचक switch विवरण पेक्षा switch अभिव्यक्ती पॅटर्न मिलान सह, डिफॉल्टसाठी null-coalescing) पसंद करणे हे स्वच्छ, idiomaticatic C# लिहिण्यासाठी दैनंदिन ज्ञान आहे।
स्विच अभिव्यक्ती आणि पॅटर्न मिलान विशेषतः आधुनिक C# च्या अधिक कार्यात्मक, संक्षिप्त कोडच्या दिशेने उत्क्रांती प्रतिबिंबित करते, जो त्यांना अधिक चांगला कोड लिहिण्यासाठी आणि वर्तमान C# कोडबेसेस वाचण्यासाठी महत्वाचा बनवते जो या वैशिष्ट्यांचा व्यापकपणे वापर करतात।