توفر 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 المتداخلة.
معاملات الدمج الفارغ (??, ??=) توفر معالجة نظيفة للقيم الفارغة، و foreach هو الأسلوب الموصى به لتكرار المجموعات.
معرفة هذه الهياكل والتفضيل للأشكال الحديثة والأكثر تعبيراً (تعبيرات switch مع المطابقة النمطية على تصريحات switch المفصلة، الدمج الفارغ للقيم الافتراضية) هو معرفة يومية لكتابة C# نظيف وبطريقة موصى بها.
تعبير switch والمطابقة النمطية بشكل خاص يعكسان تطور C# الحديث نحو كود أكثر وظيفية وإيجازاً، مما يجعلهما مهمين للفهم سواء لكتابة كود أفضل أو لقراءة قواعد البيانات الحالية لـ C# التي تستخدم هذه الميزات على نطاق واسع.