</>مدرسه زیب‌موجیاد بگیر، تمرین کن، بساز
مدرسهC#درس 2
درس 2 از 8 · ۴۵ دقیقه

نوع‌ها، nullable و الگوی داده معتبر

value type و reference type، nullable reference و بررسی ورودی را با اطلاعات مشتری تمرین می‌کنی.

۰امتیاز شما
نقشه این درس

بعد از این درس چه کاری می‌توانی انجام بدهی؟

  • نوع مناسب را انتخاب کنی
  • string? را امن مدیریت کنی
  • ورودی خالی را پیش از استفاده رد کنی
به زبان زندگی واقعی

C# را ساده بفهم

C# مثل یک کارگاه مهندسی با قراردادهای روشن است؛ نوع‌ها، کلاس‌ها و interfaceها کمک می‌کنند اجزای اپ، وب‌سرویس یا بازی جدا اما هماهنگ کار کنند.

نکته مهم برای شروع C#

هشدار nullable را خاموش نکن؛ آن را به یک پرسش درباره مدل واقعی داده تبدیل کن.

چرا مهم است؟ مقدارهایی مانند int و bool را مستقیم نگه می‌دارد.

اولین تمرین تو: نامی با فاصله ابتدا و انتها قرار بده و اثر Trim را بررسی کن.

توضیح ساده و قدم‌به‌قدم

از یک مثال کوچک شروع کن

nullable reference types قصد داده را مستند می‌کنند. string یعنی انتظار مقدار داری؛ string? یعنی نبودن مقدار بخشی از مدل است. با ??، pattern matching یا شرط صریح حالت null را پوشش بده و از ! فقط وقتی تضمین منطقی روشن داری استفاده کن.

1

۱. nullable بودن را واقعی کن

فقط customerName ممکن است مقدار نداشته باشد.

2

۲. ورودی را پاک کن

IsNullOrWhiteSpace رشته خالی و فاصله را پوشش می‌دهد.

3

۳. مقدار نمایشی بساز

یک fallback دوستانه برای مهمان انتخاب کن.

نکته مهم

هشدار nullable را خاموش نکن؛ آن را به یک پرسش درباره مدل واقعی داده تبدیل کن.

مفهوم‌های اصلی

سه قطعه‌ای که باید بفهمی

Value type

مقدارهایی مانند int و bool را مستقیم نگه می‌دارد.

Reference type

به شیء ارجاع می‌دهد؛ nullable بودن مرجع باید روشن باشد.

Nullability

هشدارهای کامپایلر دسترسی ناامن به null را زودتر نشان می‌دهند.

سناریوی واقعی

نمایش نام مشتری با مقدار جایگزین

برخی سفارش‌ها مهمان هستند و نام مشتری ندارند. سیستم باید بدون NullReferenceException یک نام قابل فهم نشان دهد.

ورودی روشنیک تغییر کوچکنتیجه قابل سنجش
بازی ساختن کد

قطعه‌ها را به ترتیب درست بچین

روی هر قطعه بزن تا وارد پاسخ شود؛ برای برگرداندن دوباره روی آن بزن. با دکمه‌های جابه‌جایی هم می‌توانی بدون کشیدن و رهاکردن ترتیب را اصلاح کنی.

مرحله ۲ از ۳ · مرتب‌کردن کد
بانک قطعه‌هاقطعه مناسب را انتخاب کن
ترتیب پاسخ تواز بالا به پایین اجرا می‌شود

    هنوز پاسخی بررسی نشده است.

    کارگاه تعاملی

    بررسی ساختار تمرین

    این صفحه کامپایلر کامل C# نیست؛ ساختار تمرین را صادقانه بررسی می‌کند و خروجی مورد انتظار را نشان می‌دهد. برای اجرای کامل به محیط رسمی همان زبان نیاز است.

    CustomerName.cs
    خروجیآماده
    یک بخش را تغییر بده و دکمه بررسی را بزن.
    بعد از هر تغییر، نتیجه را دوباره بررسی کن.
    تمرین هدایت‌شده

    نامی با فاصله ابتدا و انتها قرار بده و اثر Trim را بررسی کن.

    دام‌های رایج

    این سه اشتباه را انجام نده

    1

    استفاده گسترده از ! برای ساکت‌کردن کامپایلر

    2

    فرض مساوی‌بودن null و رشته خالی

    3

    تبدیل همه چیز به string

    سنجش چندمرحله‌ای

    با 5 سؤال مطمئن شو که مفهوم را گرفته‌ای

    سؤال 1 از 5

    کدام اعلان نبودن نام را مجاز می‌داند؟

    سؤال 2 از 5

    IsNullOrWhiteSpace چه چیزی را پوشش می‌دهد؟

    سؤال 3 از 5

    استفاده بی‌دلیل از ! چه خطری دارد؟

    سؤال 4 از 5

    کدام روش نشان می‌دهد این درس را واقعاً فهمیده‌ای؟

    سؤال 5 از 5

    کدام رفتار احتمال خطا را در همین موضوع بیشتر می‌کند؟

    پایان درس 2

    فهمیدی، تغییر دادی، نتیجه را توضیح دادی؟

    فقط در این صورت درس را کامل کن و سراغ مرحله بعد برو.