آموزش سیشارپ از مقدماتی تا پیشرفته C#
در این دوره زبان برنامهنویسی سیشارپ را از پایه و بهصورت پروژهمحور یاد میگیرید. مسیر آموزش از مفاهیم ابتدایی برنامهنویسی شروع میشود و به مباحث پیشرفتهتر زبان C# و توسعه نرمافزار میرسد. در ابتدای دوره با ساختار زبان C#، متغیرها، انواع داده، عملگرها، دستورات شرطی، حلقهها، متدها و آرایهها آشنا میشوید. سپس مباحث مهم برنامهنویسی شیءگرا مانند کلاسها، اشیا، سازندهها، وراثت، کپسولهسازی، چندریختی و Interface را یاد میگیرید
سرفصل جلسات دوره
27 جلسهC# چیست و چه کاربردهایی دارد؟ تاریخچه و ویژگیهای زبان C# معرفی .NET و تفاوت .NET با C# آشنایی با .NET SDK و Runtime نصب Visual Studio و Visual Studio Code ایجاد اولین پروژه C# ساختار یک پروژه C# آشنایی با فایلهای پروژه اجرای اولین برنامه مفهوم Compile و Build آشنایی با Console Application
متغیر چیست؟ تعریف و مقداردهی متغیرها انواع داده در C# int، long، float، double و decimal نوع داده bool نوع داده char نوع داده string ثابتها و const تبدیل انواع داده Parse و TryParse var و dynamic Nullable Types قوانین نامگذاری در C#
عملگرهای ریاضی عملگرهای مقایسهای عملگرهای منطقی عملگرهای انتساب عملگرهای افزایش و کاهش عملگرهای شرطی عملگر ?? عملگر ?. اولویت عملگرها کار با رشتهها و عملگرهای مرتبط
دستور if دستور else شرطهای تو در تو else if دستور switch Switch Expression Pattern Matching شرطهای ترکیبی استفاده از عملگر Ternary پیادهسازی منطقهای تصمیمگیری در پروژه
حلقه for حلقه while حلقه do while حلقه foreach تفاوت انواع حلقهها دستور break دستور continue حلقههای تو در تو پیمایش آرایهها و مجموعهها حل مسائل الگوریتمی با حلقهه
مفهوم Method تعریف متد پارامتر و Argument مقدار بازگشتی متدهای void پارامترهای اختیاری Named Arguments ref و out params Method Overloading Expression-Bodied Methods طراحی متدهای قابل استفاده مجدد
ساخت و مدیریت String متدهای کاربردی String جستجو و جایگزینی متن Substring Split Replace Contains StartsWith و EndsWith String Interpolation String Formatting StringBuilder کار با متنهای چندخطی
مفهوم Array آرایه یکبعدی آرایه چندبعدی آرایه Jagged List<T> Dictionary<TKey,TValue> HashSet<T> Queue<T> Stack<T> تفاوت انواع Collectionها پیمایش Collectionها افزودن، حذف و جستجوی دادهها
مفهوم Object-Oriented Programming Class چیست؟ Object چیست؟ Property Field Method Constructor Constructor Overloading Access Modifierها public private protected internal مفهوم Encapsulation طراحی کلاسهای استاندارد
مفهوم Inheritance کلاس والد و فرزند استفاده از base Override کردن متدها Virtual و Override مفهوم Polymorphism Abstract Class Abstract Method Sealed Class Sealed Method تفاوت Composition و Inheritance
Interface چیست؟ ساخت Interface پیادهسازی Interface چند Interface در یک کلاس Interface و Polymorphism تفاوت Interface و Abstract Class Dependency Injection مقدماتی اصول طراحی کد قابل توسعه
Exception چیست؟ خطاهای زمان اجرا try catch finally چندین catch throw ساخت Custom Exception مدیریت خطاهای قابل پیشبینی ثبت خطاها Best Practiceهای مدیریت Exception
File و Directory خواندن فایل نوشتن فایل File.ReadAllText File.WriteAllText کار با فایلهای JSON ایجاد و حذف Directory بررسی وجود فایل Stream چیست؟ FileStream StreamReader و StreamWriter مدیریت فایلهای بزرگ
Generic چیست؟ مزایای Generic Generic Method Generic Class Generic Interface Generic Constraints کار با T طراحی Collectionهای Generic کاربرد Generics در پروژههای واقعی
Delegate چیست؟ تعریف Delegate استفاده از Delegate Multicast Delegate Anonymous Method Lambda Expression Event چیست؟ ساخت Event Subscribe و Unsubscribe کاربرد Event در برنامههای واقعی
LINQ چیست؟ مزایای LINQ Where Select OrderBy ThenBy GroupBy Join First FirstOrDefault Single Any All Count Sum Average Min و Max Query Syntax و Method Syntax کار با LINQ روی Collectionها
Lambda Expression چیست؟ Syntax مربوط به Lambda Lambda با LINQ Func Action Predicate Anonymous Functions متدهای Higher-Order کاربرد Lambda در پروژههای واقعی
JSON چیست؟ Serialization و Deserialization کار با System.Text.Json تبدیل Object به JSON تبدیل JSON به Object تنظیمات Serialization مدیریت Propertyها کار با JSONهای تو در تو خواندن JSON از فایل ذخیره اطلاعات در قالب JSON
مفهوم Synchronous و Asynchronous چرا Async Programming مهم است؟ Task async await Task<T> اجرای عملیات همزمان مدیریت Exception در Async CancellationToken کار با عملیات I/O درخواستهای HTTP بهصورت Async
HTTP چیست؟ Request و Response HTTP Methodها GET POST PUT PATCH DELETE Status Codeها کار با HttpClient ارسال Request دریافت Response ارسال JSON دریافت JSON ساخت Client برای API
Database چیست؟ آشنایی با SQL Entity Framework Core چیست؟ نصب و پیکربندی EF Core DbContext Entity DbSet Connection String Migration ایجاد Database CRUD Query با LINQ Relationshipها One-to-One One-to-Many Many-to-Many Tracking و No-Tracking
Dependency Injection چیست؟ چرا DI اهمیت دارد؟ Service Registration Singleton Scoped Transient Constructor Injection Interface-Based Programming مدیریت وابستگیها استفاده از DI در پروژههای .NET
ASP.NET Core چیست؟ ساخت اولین Web Application Middleware Routing Controller Action Model View Razor Dependency Injection در ASP.NET Core Configuration Logging مدیریت Request و Response
REST API چیست؟ ساخت API با ASP.NET Core Controller و API Controller Routing Model Binding Validation DTO CRUD API Status Code مناسب مدیریت Exception اتصال API به Database Swagger و مستندسازی API Authentication و Authorization مقدماتی
Debug چیست؟ Breakpoint Step Over Step Into Watch Locals بررسی Stack Trace Unit Test چیست؟ نوشتن تست با xUnit تست متدها تست سرویسها Mocking مقدماتی اهمیت تست در پروژههای واقعی
Clean Code چیست؟ نامگذاری صحیح متدهای کوچک و قابل فهم کاهش وابستگیها SOLID Single Responsibility Open/Closed Liskov Substitution Interface Segregation Dependency Inversion Separation of Concerns آشنایی مقدماتی با Repository Pattern Service Layer DTO Pattern
طراحی ساختار پروژه ایجاد Modelها طراحی Database پیادهسازی Entity Framework Core ایجاد Serviceها استفاده از Dependency Injection پیادهسازی CRUD ساخت REST API اعتبارسنجی اطلاعات مدیریت Exceptionها پیادهسازی Authentication مستندسازی API با Swagger نوشتن Unit Test رعایت اصول Clean Code و SOLID آمادهسازی پروژه برای اجرا و انتشار