مقادیر نال و NullReferenceExceptionهای غیر منتظره میتوانند منشا ثابت باگها باشند که منجر به اتلاف وقت و تماسهای پشتیبانی خارج از ساعت شوند. در دوره ویدیویی Working with Nulls in C# (کار با نالها در سی شارپ) موسسه Pluralsight که توسط Jason Roberts تدریس شده است، شما دربارهی روشهای مختلفی که مقادیر null در کدهای سی شارپ ظاهر میشوند و چگونگی برخورد با آنها یاد خواهید گرفت.
ابتدا، شما در مبانی اینکه چرا مقادیر null دریافت میکنید و تفاوت بین نوعهای مقداری و ارجاعی، کنکاش میکنید. در ادامه، نحوهی استفاده از انواع مختلف عملگرهای سی شارپ برای بررسی و دستکاری nullها را بررسی خواهید کرد. سپس، چگونگی تفکر دربارهی nullها را در کدهای شی گرای خودتان و یک سطح انتزاع بالاتر خواهید دید. در پایان، خواهید فهمید که چگونه قابلیتهای معرفی شده در C# 8 با انواع ارجاعی نال ناپذیر حتی بیشتر به شما کمک میکنند. در پایان این دوره، شما انواع مختلف اشیا در سی شارپ را درک خواهید کرد، چگونه به شکل صحیحی انواع مقداری null پذیر را ایجاد کنید، چگونه از عملگرهای سی شارپ برای کار با nullها با تعداد خط کمتری کد استفاده کنید، چگونه الگوی Null Object را پیاده سازی کنید و نحوهی استفاده از nullها را در سی شارپ 8 یاد خواهید گرفت.
Table of Contents:
- Course Overview
- Course Overview
- Working with Nullable Value Types and Strings
- Introduction
- Course Outline
- Reference and Value Types Overview
- Using Magic Numbers for Null Value Types
- Introduction to Nullable Value Types with Nullable<T>
- Refactoring to Nullable<T> and Removing Magic Numbers
- C# Shorthand for Nullable Value Types
- Nullable Boolean Values
- Null and Empty Strings
- Checking for Null or Empty Strings
- Summary
- Accessing and Checking for Null Values
- Introduction
- More on Nullable<T>
- Using the HasValue and Value Properties
- Using the GetValueOrDefault Method
- Comparing Nullable<T> Instances
- Nullable<T> Implicit and Explicit Conversions
- Overview of C# Null-checking Operators
- Using the Conditional Operator to Check for Nulls
- Using the Null-coalescing Operator
- Using the Null-conditional Operator
- Using the Null-conditional Operator with Null Array Values
- Thread-safe Null Delegate Invocation
- Summary
- Eliminating Null Reference Exceptions
- Introduction
- Introducing the Null Object Pattern
- Pattern Overview
- Example Code Without the Null Object Pattern
- Implementing the Null Object Pattern Using Interfaces
- Refactoring to a Base Class and Single Null Instance
- Considerations
- Summary
- Understanding Non-nullable Reference Types in C# 8
- Introduction
- An Overview of C# 8.0 Null Features