اگر تازه با زبان برنامه نویسی سیشارپ (#C) آشنا شدهاید یا قصد دارید مفاهیم پایهای آن را بهتر درک کنید، یکی از مهمترین مباحثی که باید به آن مسلط شوید، ساختارهای شرطی و حلقهها هستند. این دو مفهوم، پایهی تصمیم گیری و تکرار در برنامهنویسی هستند و دانستن آنها نقش بسیار بزرگی در نوشتن برنامههای کارآمد و هوشمند دارد.
در این مقاله، با زبانی ساده و کاربردی، این مفاهیم را آموزش میدهیم تا حتی اگر مبتدی باشید، بتوانید آن را به راحتی در پروژههای خود استفاده کنید.
شرطها در برنامه نویسی یعنی چه؟
برنامهها باید بتوانند با توجه به شرایط مختلف، رفتار متفاوتی از خود نشان دهند. مثلاً تصور کنید شما میخواهید یک فرم ثبت نام بسازید که فقط کاربرانی که سنشان بالای ۱۸ سال است، بتوانند ثبت نام کنند. این یعنی باید برنامهتان "تصمیم بگیرد" و اینجاست که ساختار شرطی وارد ماجرا میشود.
دستور if و else در #C
در این مثال، اگر مقدار age برابر یا بیشتر از ۱۸ باشد، پیام مجاز بودن ثبت نام نمایش داده میشود. در غیر این صورت، برنامه ساکت میماند و کاری انجام نمیدهد.
اما اگر بخواهیم کاری را در صورت برقرار نبودن شرط هم انجام دهیم، از else استفاده میکنیم:
استفاده از else if برای بررسی چند حالت
گاهی فقط دو حالت نیستند که بخواهیم بررسی کنیم. ممکن است چندین حالت مختلف داشته باشیم. در این مواقع از else if استفاده میکنیم تا بتوانیم چندین شرط مختلف را بررسی کنیم.
شرطهای تو در تو (Nested if)
گاهی نیاز داریم در داخل یک شرط، شرط دیگری بررسی کنیم. در این مواقع میتوانیم از if تو در تو استفاده کنیم.

دستور switch برای انتخاب از بین چند گزینه
وقتی میخواهیم مقدار یک متغیر را با چند مقدار خاص مقایسه کنیم، میتوانیم بهجای چند if از switch استفاده کنیم که خواناتر است.
در این مثال، بر اساس مقدار day، یکی از گزینهها اجرا میشود. دستور break باعث میشود پس از اجرای یک گزینه، از switch خارج شویم.
عملگرهای منطقی در شرطها
برای ترکیب چند شرط میتوان از عملگرهای منطقی استفاده کرد:
&&(و): هر دو شرط باید برقرار باشند.||(یا): اگر یکی از شرطها برقرار باشد، کافی است.!(نقیض): شرط را برعکس میکند.
مثال:
معرفی حلقهها (Loops)
تا اینجا یاد گرفتیم که چگونه با شرطها تصمیمگیری کنیم. حالا میرسیم به بخش دوم مقاله: حلقهها. حلقهها به ما اجازه میدهند یک بخش از کد را چندین بار تکرار کنیم، بدون اینکه همان کد را چند بار بنویسیم.
فرض کنید میخواهید اعداد ۱ تا ۵ را چاپ کنید. بدون حلقه باید پنج خط کد بنویسید. اما با حلقه فقط چند خط کافی است.

حلقه for در #C
حلقه for زمانی استفاده میشود که تعداد دفعات تکرار را از قبل میدانیم.
در این مثال:
int i = 1مقدار شروعi <= 5شرط ادامه حلقهi++افزایش مقدار بعد از هر تکرار
خروجی: عددهای ۱ تا ۵ روی صفحه چاپ میشوند.
حلقه while
حلقه while زمانی مناسب است که نمیدانیم دقیقاً چند بار قرار است تکرار شود و فقط میخواهیم تا زمانی که یک شرط برقرار است، تکرار انجام شود.
اگر شرط اولیه درست نباشد، ممکن است این حلقه حتی یکبار هم اجرا نشود.
حلقه do-while
این حلقه مشابه while است با این تفاوت که حداقل یک بار اجرا میشود، حتی اگر شرط نادرست باشد.
در اینجا با اینکه شرط y < 10 برقرار نیست، ولی حلقه یک بار اجرا میشود و مقدار 10 چاپ خواهد شد.
حلقه foreach برای پیمایش لیستها
حلقه foreach مخصوص پیمایش آرایهها و مجموعههاست. این حلقه سادهترین روش برای مرور روی دادهها است.
استفاده از foreach باعث میشود نیازی به مدیریت اندیسها نداشته باشید و خطاهای کمتری رخ دهد.
استفاده از break و continue
در تمام حلقهها، میتوان از break و continue استفاده کرد.
break: باعث میشود فوراً از حلقه خارج شویم.continue: باعث میشود اجرای حلقه فعلی متوقف و تکرار بعدی شروع شود.
مثال با continue:
عدد ۳ چاپ نمیشود.
حلقههای تو در تو (Nested Loops)
در بسیاری از پروژهها، مانند چاپ ماتریس یا جدول ضرب، نیاز به استفاده از حلقههای تو در تو داریم.
خروجی، جدول ضرب ۳ در ۳ خواهد بود.
اشتباهات رایج و نکات بهینهسازی
فراموش کردن افزایش شمارنده در while: باعث حلقه بینهایت میشود.
استفاده نادرست از break و continue: ممکن است منطق برنامه را خراب کند.
استفاده زیاد از شرطهای تو در تو: خوانایی را کاهش میدهد.
حلقههای سنگین و بیدلیل: باعث افت عملکرد میشود.
همیشه سعی کنید حلقهها و شرطها را ساده، خوانا و قابل فهم بنویسید.
نتیجه گیری
در این مقاله با دو مفهوم بسیار مهم یعنی ساختارهای شرطی و حلقهها در #C آشنا شدیم. دانستن این مفاهیم برای نوشتن برنامههای کاربردی، واکنشگرا و بهینه حیاتی است. فرقی ندارد مبتدی باشید یا برنامهنویس حرفهای؛ این ابزارها همیشه در کد شما حضور دارند.
سعی کنید برای یادگیری بهتر، مثالهای این مقاله را در محیط Visual Studio یا هر محیط سیشارپ دیگری اجرا کرده و با آنها تمرین کنید. برنامهنویسی مثل یادگیری زبان است؛ تا تمرین نکنید، مسلط نمیشوید.
اگر سوالی درباره این مبحث داشتید، خوشحال میشوم راهنماییتان کنم
توئیتر
تلگرام
لینکدین
فیسبوک
ایتا
روبیکا
محمد شاه نظرلی
برنامهنویس و توسعهدهنده نرمافزار با بیش از ۱۵ سال تجربه در داتنت، طراحی سامانههای سازمانی و بهینهسازی سئو.
علاقهمند به اشتراکگذاری دانش و یادگیری مستمر.
دیدگاه خود را ارسال کنید