CodeShot
Advanced C#1 دقیقه مطالعه

مفاهیم پیشرفته C# (Advanced C#)

مجموعه‌ای از قابلیت‌های پیشرفته C# مثل Generics، Delegate، LINQ و Reflection که کدنویسی Type-safe، انعطاف‌پذیر و بهینه را ممکن می‌کنند.

چرا مهم است؟

تسلط بر این مفاهیم فاصله بین یک برنامه‌نویس معمولی و یک توسعه‌دهنده حرفه‌ای C# است — پایه اکثر فریم‌ورک‌ها و کتابخانه‌های .NET همین قابلیت‌هاست.

مهم‌ترین مفاهیم

مفهوم کاربرد کوتاه
Generics کلاس/متد مستقل از نوع، بدون Boxing/Unboxing
Delegate اشاره‌گر Type-safe به متد؛ پایه Event و Callback
Event الگوی Publisher/Subscriber برای اطلاع‌رسانی تغییرات
Lambda Expression نوشتن توابع کوتاه به‌صورت درجا
LINQ Query روی Collection، Database و XML
Extension Methods افزودن متد به کلاسی بدون تغییر سورس آن
Expression Trees نمایش کد به‌صورت Tree؛ پایه EF Core و LINQ Provider
Reflection بررسی Typeها در Runtime؛ پایه DI و ORM
Attributes افزودن Metadata به کلاس/متد (مثلاً Validation)
Pattern Matching سینتکس فشرده برای بررسی نوع و مقدار
Records نوع داده Immutable با Value Equality رایگان
Span/Memory\ کار با حافظه بدون Copy اضافه؛ افزایش Performance
Nullable Reference Types جلوگیری از NullReferenceException در Compile-time

نمونه کد

// Generic
public class Repository<T> where T : class
{
    public void Add(T item) { }
}

// Record
public record User(string Name, int Age);

// Pattern Matching
if (input is int n && n > 0) { }

نکات مهم

  • Generics با Boxing/Unboxing مخالف است و Type Safety می‌دهد.
  • Delegate پایه Event و Lambda است.
  • Reflection قدرتمند اما کند است — فقط جایی که لازم است استفاده شود.
  • Record برای داده‌های Immutable مناسب‌تر از Class است.
  • Span<T> مصرف حافظه را در سناریوهای پرفورمنس‌محور کاهش می‌دهد.

نکته کلیدی: این مفاهیم پایه اکثر فریم‌ورک‌های .NET (از جمله EF Core و ASP.NET Core) هستند؛ فهمیدن‌شان یعنی فهمیدن اینکه فریم‌ورک‌ها چطور زیر پوست خودشان کار می‌کنند.

خلاصه

  • Generics، Delegate/Event و LINQ ابزارهای روزمره کدنویسی Type-safe در C# هستند.
  • Reflection و Expression Trees پایه فریم‌ورک‌هایی مثل EF Core و DI هستند.
  • Record، Pattern Matching و Span ابزارهای مدرن‌تر برای کد امن‌تر و سریع‌تر هستند.

حالا امتحان کن

🧩آزمون مفاهیم پیشرفته C# (Advanced C#)6 سؤال · نمره قبولی 60٪
این مطلب مفید بود؟
نشان کردن
مشاهده در Concept Hub ←