إمكانيات C# المخفية التي لا تُذكر في الكتب الدراسية
```html
مرحباً بالجميع! أنا أكتب بلغة C# منذ حوالي عام، قرأت عدة كتب (شيلدت، ترويلسن)، لكني أشعر أن اللغة أعمق بكثير مما تبدو. على StackOverflow صادفت موضوع "Hidden Features of C#" مع 760 ألف مشاهدة، لكن كل شيء هناك باللغة الإنجليزية.
أنا مهتم بالتحديد بالميزات التي ليست واضحة للمبتدئ. على سبيل المثال، تعلمت مؤخراً عن `nameof()` — تبدو صغيرة، لكنها تساعد في إعادة الهيكلة. أو عن `??` (null-coalescing) — كنت أكتب جمل if طويلة سابقاً.
لكن هناك أشياء لا أفهمها إطلاقاً. مثلاً، ما هو `yield return`؟ رأيته في الأمثلة، لكني لا أستطيع استيعاب لماذا نحتاجه إذا كان بإمكاننا ببساطة إرجاع List. أيضاً سمعت عن "extension methods" — يبدو أنك تضيف دوالاً إلى الأنواع الموجودة، لكن كيف يعمل هذا داخلياً؟
والسؤال الأكبر: هل صحيح أن في C# إمكانية كتابة كود يتم تنفيذه قبل Main()؟ أم أن هذه أسطورة؟
شاركوني، من فضلكم، بأكثر الميزات الخفية فائدة في C# التي تبسط الحياة حقاً. أنا مهتم بالسكر النحوي (مثل `=>` للدوال) وكذلك بالمفاهيم المتقدمة.
```