بعد از این درس چه کاری میتوانی انجام بدهی؟
- نوع مناسب را انتخاب کنی
- string? را امن مدیریت کنی
- ورودی خالی را پیش از استفاده رد کنی
C# را ساده بفهم
C# مثل یک کارگاه مهندسی با قراردادهای روشن است؛ نوعها، کلاسها و interfaceها کمک میکنند اجزای اپ، وبسرویس یا بازی جدا اما هماهنگ کار کنند.
هشدار nullable را خاموش نکن؛ آن را به یک پرسش درباره مدل واقعی داده تبدیل کن.
چرا مهم است؟ مقدارهایی مانند int و bool را مستقیم نگه میدارد.
اولین تمرین تو: نامی با فاصله ابتدا و انتها قرار بده و اثر Trim را بررسی کن.
از یک مثال کوچک شروع کن
nullable reference types قصد داده را مستند میکنند. string یعنی انتظار مقدار داری؛ string? یعنی نبودن مقدار بخشی از مدل است. با ??، pattern matching یا شرط صریح حالت null را پوشش بده و از ! فقط وقتی تضمین منطقی روشن داری استفاده کن.
۱. nullable بودن را واقعی کن
فقط customerName ممکن است مقدار نداشته باشد.
۲. ورودی را پاک کن
IsNullOrWhiteSpace رشته خالی و فاصله را پوشش میدهد.
۳. مقدار نمایشی بساز
یک fallback دوستانه برای مهمان انتخاب کن.
هشدار nullable را خاموش نکن؛ آن را به یک پرسش درباره مدل واقعی داده تبدیل کن.
سه قطعهای که باید بفهمی
Value type
مقدارهایی مانند int و bool را مستقیم نگه میدارد.
Reference type
به شیء ارجاع میدهد؛ nullable بودن مرجع باید روشن باشد.
Nullability
هشدارهای کامپایلر دسترسی ناامن به null را زودتر نشان میدهند.
نمایش نام مشتری با مقدار جایگزین
برخی سفارشها مهمان هستند و نام مشتری ندارند. سیستم باید بدون NullReferenceException یک نام قابل فهم نشان دهد.
قطعهها را به ترتیب درست بچین
روی هر قطعه بزن تا وارد پاسخ شود؛ برای برگرداندن دوباره روی آن بزن. با دکمههای جابهجایی هم میتوانی بدون کشیدن و رهاکردن ترتیب را اصلاح کنی.
بررسی ساختار تمرین
این صفحه کامپایلر کامل C# نیست؛ ساختار تمرین را صادقانه بررسی میکند و خروجی مورد انتظار را نشان میدهد. برای اجرای کامل به محیط رسمی همان زبان نیاز است.
یک بخش را تغییر بده و دکمه بررسی را بزن.
راهنماییها مرحلهای هستند؛ اول خودت پیام خطا را بخوان.
نامی با فاصله ابتدا و انتها قرار بده و اثر Trim را بررسی کن.
این سه اشتباه را انجام نده
استفاده گسترده از ! برای ساکتکردن کامپایلر
فرض مساویبودن null و رشته خالی
تبدیل همه چیز به string
با 5 سؤال مطمئن شو که مفهوم را گرفتهای
کدام اعلان نبودن نام را مجاز میداند؟
IsNullOrWhiteSpace چه چیزی را پوشش میدهد؟
استفاده بیدلیل از ! چه خطری دارد؟
کدام روش نشان میدهد این درس را واقعاً فهمیدهای؟
کدام رفتار احتمال خطا را در همین موضوع بیشتر میکند؟
فهمیدی، تغییر دادی، نتیجه را توضیح دادی؟
فقط در این صورت درس را کامل کن و سراغ مرحله بعد برو.