فهرست مندرجات   3

مقدمه مترجم         10

مقدمه مؤلف          12

چه موضوعاتی در این کتاب پوشش داده می‌شوند   13

آنچه برای یادگیری این کتاب به آن نیاز دارید       16

فصل 1   17

به C# و .NET خوش آمدید! 17

برپا کردن محیط برنامه‌نویسی 18

.NET    24

ساختن برنامه‌های کنسولی با استفاده از VSC       38

دانلود پاسخ سوالات از مخزن GitHub  43

جستجو برای کمک 44

تمرین‌ها و کاوش‌های بیشتر   50

خلاصه    52

فصل 2   54

صحبت به زبان C# 54

مقدمه‌ای  بر C#    54

اصول زبان C#      61

کار با متغیرها         72

مقادیر null          93

تبدیل یک گونه مقداری ‌نول‌پذیر         94

مطالب بیشتر درباره برنامه‌های کنسولی   100

تمرین‌ها و کاوش‌های بیشتر   113

خلاصه    115

فصل 3   116

کنترل روند برنامه و تبدیل گونه‌ها        116

انجام عملیات بر روی متغیرها  116

عبارات انتخاب کننده            127

عبارات تکرار          136

قالب‌گیری و تبدیل گونه‌ها به یکدیگر    141

تمرین‌ها و کاوش‌های بیشتر   161

خلاصه    165

فصل 4   166

نوشتن، رفع‌اشکال، و آزمایش توابع        166

نوشتن توابع          166

اشکالزدایی در طول برنامه‌نویسی          183

واقعه‌نگاری در طول برنامه نویسی و در زمان اجرای برنامه     191

توابع آزمایش واحد   199

تمرین‌ها و کاوش‌های بیشتر   204

خلاصه    206

فصل 5   207

ساخت گونه‌های خودتان توسط برنامه‌نویسی-شیءگرا          207

برنامه نویسی شیء-گرا         208

ساختن کتابخانه‌های کلاس    210

ذخیره داده‌ها در فیلدها          218

نوشتن و فراخوانی متدها        234

کنترل دسترسی توسط ویژگی‌ها و ایندکسسازها     247

تطبیق الگو توسط اشیاء         253

کار با رکوردها        257

تمرین‌ها و کاوش‌های بیشتر   261

خلاصه    263

فصل 6   264

پیاده‌سازی رابط‌ها (اینترفیس‌ها) و وراثت  264

تشکیل یک کتابخانه کلاس و برنامه کنسولی        265

ساده کردن متدها    267

تولید رویدادها و رسیدگی به آنها           272

پیاده‌سازی رابط‌ها (اینترفیس‌ها)            279

قابلیت استفاده مجدد از گونه‌ها بصورت امن، توسط گونه‌های عام         287

مدیریت حافظه با گونه‌های مقداری و ارجاعی       292

ارث بری از کلاس‌ها            300

قالببندی و تبدیل گونه‌ها در درون سلسله مراتب وراثت         307

ارث بری از گونه‌های .NET و گسترش آنها        310

تمرین‌ها و کاوش‌های بیشتر   315

خلاصه    318

فصل 7   319

بسته‌ها و گونه‌های .NET     319

مقدمه‌ای بر .NET 5           320

اجزاء .NET          325

انتشار برنامه‌ها برای استقرار بر روی  کامپیوتر کاربران          338

از کامپایل در آوردن مجتمع‌ها  345

پکیج‌بندی کتابخانه‌ها برای توزیع نوگت  350

انتقال  برنامه‌های  موروثی  .NET Framework به .NET 5         358

تمرین‌ها و کاوش‌های بیشتر   363

خلاصه    365

فصل 8   366

گونه‌های متداول در .NET    366

کار با اعداد            366

تطبیق الگوها با استفاده از عبارات باقاعده 376

ذخیره چند شیء در گردایه‌ها   383

محدوده‌ها، ایندکس‌ها، و بردها 395

کار با منابع شبکه    398

کار با گونه‌ها و صفت‌ها         402

کار با تصاویر         410

بینالمللی کردن برنامه‌ها         413

تمرین‌ها و کاوش‌های بیشتر   417

خلاصه    419

فصل 9   421

فایل‌ها، جریان‌ها و سریال‌سازی           421

سیستم‌فایلی          421

خواندن و نوشتن توسط جریان‌ها          433

فشرده‌سازی جریان‌ها           444

کدگذاری و از کد درآوردن متن‌ها         449

سریالسازی اشیاء     454

تمرین‌ها و کاوش‌های بیشتر   463

خلاصه    466

فصل 10  467

محافظت از داده‌ها و برنامه‌ها   467

فرهنگِ اصطلاحاتِ حفاظت از داده‌ها     468

به رمز درآوردن  و  از رمز درآوردن داده‌ها 472

درهم‌سازی داده‌ها   479

امضاء کردن داده‌ها   484

تولید اعداد تصادفی  489

ویژگی‌ها جدید مربوط به رمزنگاری در .NET      492

اعتبارسنجی و مجوز سنجی کاربران       493

حفاظت از عملکردهای برنامه  500

تمرین‌ها و کاوش‌های بیشتر   501

خلاصه    503

فصل 11  504

کار با پایگاه‌های‌داده توسط Entity Framework Core    504

پایگاه‌های داده نوین 504

تنظیم EF Core    512

تعریف مدل‌های EF Core   515

پرس‌ و جو از مدل‌های EF Core        530

بارگذاری الگوها با EF Core  547

تغییر  داده‌ها  با  EF Core    553

تمرین‌ها و کاوش‌های بیشتر   560

خلاصه    562

فصل 12  563

پرس‌وجو و تغییر داده‌ها با استفاده از LINQ         563

نوشتن  پرس‌وجو‌های LINQ 564

کار با مجموعه‌ها و کیسه‌ها با استفاده از LINQ     575

استفاده  از  LINQ  با  EF Core       578

شیرین کردن نحوِ LINQ با شِکَر نحوی            591

استفاده از چند ریسه‌ توسط LIKQ موازی           593

ایجاد متدهای گسترشِ LINQ توسط شما          597

کار با LINQ to XML       601

تمرین‌ها و کاوش‌های بیشتر   603

خلاصه    605

فصل 13  607

بهبود سرعت و مقیاس‌پذیری برنامه‌ها توسط چندکارگی       607

پروسه‌ها، ریسه‌ها، و کارها      607

نظارت بر روی سرعت برنامه و مصرفِ منابع         609

اجراء کارها بصورت غیرهمگام 617

همگام‌سازی دسترسی به منابع مشترک   628

async و await    637

تمرین‌ها و کاوش‌های بیشتر   642

خلاصه    644

فصل 14  645

معرفی برنامه‌های عملی C# و .NET   645

مدل‌های برنامه برای C# و .NET       646

ویژگی‌های جدید ASP.NET Core   650

سیگنالار (SignalR)           655

بلیزور (Blazor)    658

ساختن یک مدل موجودیت داده برای Northwind           663

خلاصه    672

فصل 15  674

ساخت وب‌سایت‌ها با استفاده از صفحات ASP.NET Core Razor   674

برنامه‌نویسی وب     674

صفحات Razor    694

استفاده از Entity Framework Core در ASP.NET Core        703

استفاده از کتابخانه‌های کلاس Razor   708

پیکر‌بندی سرویس‌ها و خطوط لوله درخواست‌های HTTP    715

تمرین‌ها و کاوش‌های بیشتر   727

خلاصه    729