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

شرط، pattern matching و قانون موجودی

شرط‌ها و pattern matching را برای تصمیم‌های چندحالته به‌کار می‌بری و مرز موجودی را تست می‌کنی.

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

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

  • قانون را به شرط دقیق تبدیل کنی
  • switch expression بنویسی
  • حالت صفر و مقدار مرزی را پوشش بدهی
به زبان زندگی واقعی

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

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

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

حالت fallback با _ باید آگاهانه باشد؛ نباید داده نامعتبر را بی‌صدا بپذیرد.

چرا مهم است؟ حالت نامعتبر را زود و روشن خارج می‌کند.

اولین تمرین تو: ورودی‌های -۱، ۰ و ۵ را بررسی و انتظار هرکدام را توضیح بده.

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

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

switch expression زمانی عالی است که هر ورودی به یک مقدار خروجی تبدیل می‌شود. ترتیب patternها مهم است؛ حالت خاص‌تر را پیش از حالت عمومی قرار بده. برای ورودی منفی guard clause یا exception طراحی کن تا داده خراب عادی تلقی نشود.

1

۱. نامعتبر را جدا کن

stock منفی باید رد شود.

2

۲. حالت‌ها را مرتب کن

صفر، کمبود و موجودی کافی ترتیب منطقی دارند.

3

۳. مرز را تست کن

۰، ۱، ۴ و ۵ را در جدول انتظار بنویس.

نکته مهم

حالت fallback با _ باید آگاهانه باشد؛ نباید داده نامعتبر را بی‌صدا بپذیرد.

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

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

Guard clause

حالت نامعتبر را زود و روشن خارج می‌کند.

Pattern matching

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

Switch expression

چند حالت را به یک مقدار خروجی نگاشت می‌کند.

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

تعیین وضعیت موجودی کالا

موجودی صفر یعنی ناموجود، کمتر از پنج یعنی هشدار و بقیه آماده فروش است. این قانون باید برای مرزها دقیق باشد.

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

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

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

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

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

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

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

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

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

    ورودی‌های -۱، ۰ و ۵ را بررسی و انتظار هرکدام را توضیح بده.

    دام‌های رایج

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

    1

    قرار دادن pattern عمومی پیش از خاص

    2

    پذیرفتن stock منفی

    3

    نداشتن تست مقدار دقیق ۵

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

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

    سؤال 1 از 5

    ورودی ۵ چه خروجی می‌دهد؟

    سؤال 2 از 5

    علامت _ در switch چیست؟

    سؤال 3 از 5

    چرا stock منفی را throw می‌کنیم؟

    سؤال 4 از 5

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

    سؤال 5 از 5

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

    پایان درس 4

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

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