C# ਮਾਨਕ control-flow constructs ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ — conditionals (if, ), loops (, , ), ਅਤੇ branching (, , ) — ਅਤੇ switch 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 ਨੂੰ ਸਮਰਥਨ ਕਰਦਾ ਹੈ (types, conditions, ਅਤੇ ਹੋਰ ਨਾਲ ਮੈਚ ਕਰਨਾ) — ਮੌਖਿਕ ਪਰਿਪਾਟੀ 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 ਨੂੰ iterate ਕਰਨਾ) collections ਲਈ ਰਵਾਇਤੀ loop ਹੈ।
foreach (var item in items)
{
if (item.Skip) continue; // next iteration
if (item.Stop) break; // exit loop
}
return result; // exit method
Control flow ਹਰ ਪ੍ਰੋਗ੍ਰਾਮ ਵਿੱਚ ਤਰਕ ਨੂੰ ਪ੍ਰਗਟ ਕਰਨ ਦਾ ਬੁਨਿਆਦੀ ਵਿਧਾਨ ਹੈ، ਇਸ ਲਈ C# ਦੇ constructs ਨੂੰ ਸਮਝਣਾ ਬੁਨਿਆਦੀ ਰੋਜ਼ਮਰਾਹ ਗਿਆਨ ਹੈ।
جبکہ بنیادی چیزیں معیاری ہیں، C# کی جدید بہتریاں جاننے کے قابل ہیں: switch expression (C# 8+) روایتی switch سے ایک اہم بہتری ہے — سنجیدہ، value-returning، کوئی fall-through bugs نہیں (کوئی بھولا ہوا break نہیں)، اور pattern matching کو سپورٹ کرتا ہے (types, conditions, values، اور structure پر matching)، جو پیچیدہ conditional logic کو nested if-else chains سے بہت صاف ستھرا بناتا ہے۔
null-coalescing operators (??, ??=) صاف null handling فراہم کرتے ہیں، اور foreach collections کو iterate کرنے کا رواں طریقہ ہے۔
ان constructs کو جاننا اور جدید، زیادہ بیان کرنے والے forms کو ترجیح دینا (verbose switch statements کے بجائے pattern matching کے ساتھ switch expressions، defaults کے لیے null-coalescing) صاف، idiomatic C# لکھنے کے لیے روز مرہ کا علم ہے۔
خاص طور پر switch expression اور pattern matching C# کی جدید تاریخ میں زیادہ functional، سنجیدہ کوڈ کی طرف ترقی کو ظاہر کرتے ہیں، انہیں بہتر کوڈ لکھنے اور ایسی موجودہ C# codebases پڑھنے دونوں کے لیے اہم بناتے ہیں جو ان خصوصیات کو بہت وسیع پیمانے پر استعمال کرتے ہیں۔
ਵਿਸਤ੍ਰਿਤ ਜਵਾਬਾਂ ਨਾਲ IT ਇੰਟਰਵਿਊ ਸਵਾਲਾਂ ਦੀ ਇੱਕ ਲਾਇਬ੍ਰੇਰੀ — ਜੂਨੀਅਰ ਤੋਂ ਸੀਨੀਅਰ ਤੱਕ।
ਦਾਨ ਕਰੋ