C# ప్రామాణిక నియంత్రణ-ప్రవాహ నిర్మాణాలను అందిస్తుంది — షరతులు (if, ), లూప్లు (, , ) మరియు శాఖలు (, , ) — ప్లస్ సుইచ్ expressions మరియు pattern matching వంటి ఆధునిక వృద్ధిని కోడ్ను మరింత సంక్షిప్తం చేస్తాయి.
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 expression సంక్షిప్తం (విలువను తిరిగి ఇస్తుంది, break లేదు), మరియు శక్తిశాలీ pattern matching (రకాలు, షరతులు మరియు మరిన్నింటిని సరిపోల్చడం) సపోర్ట్ చేస్తుంది — పర్యవసానంగా ఉన్న సాంప్రదాయిక 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 expression (C# 8+) సాంప్రదాయిక switch కంటే ముఖ్యమైన మెరుగుదల — సంక్షిప్తం, విలువ-రిటర్నింగ్, ఫాల్-థ్రూ బగ్లు లేవు (మిస్సయిన break లేదు), మరియు pattern matching (రకాలు, షరతులు, విలువలు మరియు నిర్మాణాన్ని సరిపోల్చడం) సపోర్ట్ చేస్తుంది, ఇది సంక్లిష్ట నిబంధన తర్కాన్ని నెస్టెడ్ if-else చైన్ల కంటే చాలా శుభ్రంగా చేస్తుంది.
null-coalescing operators (??, ??=) శుభ్రమైన null నిర్వహణను అందిస్తాయి, మరియు foreach సేకరణలపై పునరుక్తిని చేయడానికి సంభాషణీయ మార్గం.
ఈ నిర్మాణాలను తెలుసుకోవడం మరియు ఆధునిక, మరింత అভివ్యక్త ఫారమ్లను ఇష్టపడటం (సరికాని switch statements కు బదులుగా pattern matching తో switch expressions, డిఫాల్ట్ల కోసం null-coalescing) శుభ్రమైన, సంభాషణీయ C# వ్రాయడానికి దైనిక జ్ఞానం.
switchexpression మరియు pattern matching ముఖ్యంగా ఆధునిక C# యొక్క పరిణామాన్ని మరింత క్రియాత్మక, సంక్షిప్త కోడ్ వైపుకు ప్రతిబింబిస్తాయి, దీని వల్ల బెటర్ కోడ్ వ్రాయడానికి మరియు ఈ ఫీచర్లను విస్తృతంగా ఉపయోగించే ప్రస్తుత C# codebasesను చదవడానికి ముఖ్యమైనవిగా చేస్తుంది.