دستورات شرطی در سی شارپ
دستورات شرطی در سیشارپ برای بررسی شرایط و اجرای بخشهای مختلف برنامه بر اساس درست یا نادرست بودن یک عبارت استفاده میشوند.
27 شهریور 1405
لینک کوتاه
دستورات شرطی در سی شارپ
دستورات شرطی در سی شارپ (#C) یکی از مهمترین مباحث برنامهنویسی و از پایهایترین مفاهیمی هستند که هر برنامهنویس سیشارپ باید بهخوبی یاد بگیرد.با استفاده از دستورات شرطی میتوان مشخص کرد که برنامه در شرایط مختلف چه کاری انجام دهد.
برای مثال، فرض کنید میخواهیم برنامهای بنویسیم که بررسی کند آیا سن یک کاربر برای ورود به یک بخش خاص کافی است، آیا رمز عبور صحیح است، آیا موجودی حساب برای خرید کافی است یا بر اساس نمره یک دانشآموز، وضعیت او را مشخص کند.
در تمام این مثالها به شرطگذاری در سی شارپ نیاز داریم.
در زبان #C مهمترین ساختارهای تصمیمگیری شامل if، if else، else if و switch هستند.
همچنین برای شرایط ساده میتوان از عملگر شرطی سهتایی ?: استفاده کرد.
مستندات رسمی مایکروسافت نیز if و switch را بهعنوان ساختارهای اصلی انتخاب و تصمیمگیری در #C معرفی میکند.
آیا به دنبال یک فرصت عالی برای یادگیری برنامهنویسی هستید؟ 🚀با دوره آموزشی سیشارپ ما، شما میتوانید مهارتهای خود را به سطح جدیدی ارتقا دهید! این دوره بهطور کامل طراحی شده تا به شما کمک کند تا از مبتدی تا پیشرفته در دنیای برنامهنویسی سیشارپ پیش بروید.
👨🏫 چرا دوره ما را انتخاب کنید؟
- محتوای جامع و عملی: با پروژههای واقعی و تمرینات عملی، یادگیری را به تجربهای جذاب تبدیل کنید.
- مدرس مجرب: از تجربه و دانش مدرس حرفهای بهرهمند شوید که شما را در هر مرحله از یادگیری راهنمایی میکنند.
- پشتیبانی ۲۴/۷: هر زمان که سوالی داشتید، ما در کنار شما خواهیم بود تا به شما کمک کنیم.
- دسترسی مادامالعمر: به محتوای دوره دسترسی دائمی داشته باشید و هر زمان که خواستید، میتوانید به آن مراجعه کنید.
💡 فرصت را از دست ندهید!
بایادگیری سیشارپ، میتوانید در دنیای فناوری اطلاعات به یک متخصص تبدیل شوید و در پروژههای جذاب و چالشبرانگیز شرکت کنید.
همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آیندهای روشنتر بردارید!

دستور شرطی if در سی شارپ چیست؟
دستور if سادهترین و پرکاربردترین روش برای شرطگذاری در سی شارپ است.این دستور یک عبارت بولی را بررسی میکند و اگر نتیجه آن true باشد، کد داخل بلوک اجرا میشود.
ساختار کلی if به شکل زیر است:
if (condition)
{
// دستورات موردنظر
}
برای مثال:
int age = 20;
if (age >= 18)
{
Console.WriteLine("سن کاربر مجاز است.");
}
در این مثال، برنامه مقدار age را بررسی میکند.
از آنجا که مقدار سن برابر ۲۰ است و ۲۰ بزرگتر یا مساوی ۱۸ است، نتیجه شرط true خواهد بود و پیام نمایش داده میشود.
یک مثال کاربردی از if در #C
فرض کنید در یک فروشگاه اینترنتی میخواهیم بررسی کنیم که آیا مبلغ خرید مشتری به حداقل مبلغ ارسال رایگان رسیده است یا خیر:int price = 800000;
if (price >= 500000)
{
Console.WriteLine("ارسال سفارش رایگان است.");
}
این نوع شرطها در پروژههای واقعی بسیار کاربرد دارند و میتوانند برای کنترل دسترسی کاربران، اعتبارسنجی اطلاعات، محاسبه تخفیف و تصمیمگیریهای مختلف استفاده شوند.
دستور if else در سی شارپ
گاهی لازم است برنامه برای هر دو حالت شرط، یعنی درست بودن یا نبودن شرط، دستور مشخصی اجرا کند.در این شرایط از else استفاده میکنیم.
ساختار if else در #C به شکل زیر است:
if (condition)
{
// زمانی که شرط true است
}
else
{
// زمانی که شرط false است
}
مثال:
int age = 16;
if (age >= 18)
{
Console.WriteLine("ورود مجاز است.");
}
else
{
Console.WriteLine("ورود مجاز نیست.");
}
چون مقدار age برابر ۱۶ است، شرط age >= 18 برقرار نیست و برنامه بخش else را اجرا میکند.
بنابراین به زبان ساده:
- اگر شرط درست باشد، if اجرا میشود.
- اگر شرط درست نباشد، else اجرا میشود.
دستور else if در سی شارپ
گاهی برنامه فقط دو حالت ندارد و لازم است چند شرط مختلف بررسی شود.در این حالت از else if استفاده میکنیم.
برای مثال، میتوانیم با استفاده از else if وضعیت یک نمره را مشخص کنیم:
int score = 85;
if (score >= 90)
{
Console.WriteLine("عالی");
}
else if (score >= 75)
{
Console.WriteLine("خوب");
}
else if (score >= 50)
{
Console.WriteLine("قابل قبول");
}
else
{
Console.WriteLine("مردود");
}
در این مثال، شرطها از بالا به پایین بررسی میشوند و اولین شرطی که نتیجه آن true باشد اجرا میشود و بقیه شرطها بررسی نمیشوند.
این رفتار در مستندات رسمی #C نیز توضیح داده شده است.
عملگرهای مقایسهای در دستورات شرطی #C
برای ساختن شرط در سی شارپ معمولاً از عملگرهای مقایسهای استفاده میشود.عملگر مفهوم
-
== مساوی است با
-
!= مساوی نیست با
-
> بزرگتر از
-
< کوچکتر از
-
>= بزرگتر یا مساوی
-
<= کوچکتر یا مساوی
int number = 10;
if (number == 10)
{
Console.WriteLine("عدد برابر 10 است.");
}

تفاوت = و == در سی شارپ
یکی از اشتباهات رایج افراد مبتدی، اشتباه گرفتن = و == است.عملگر = برای اختصاص مقدار استفاده میشود:
int number = 10;
اما == برای مقایسه دو مقدار استفاده میشود:if (number == 10)
{
Console.WriteLine("عدد 10 است.");
}
توجه به این تفاوت هنگام نوشتن دستورات شرطی بسیار مهم است.
عملگر && در شرطهای سی شارپ
اگر بخواهیم چند شرط بهصورت همزمان برقرار باشند، میتوانیم از عملگر منطقی && استفاده کنیم.int age = 25;
bool hasAccount = true;
if (age >= 18 && hasAccount)
{
Console.WriteLine("دسترسی مجاز است.");
}
در این مثال هر دو شرط باید درست باشند:
- سن کاربر حداقل ۱۸ سال باشد.
- کاربر حساب کاربری داشته باشد.
- اگر یکی از این شرایط برقرار نباشد، نتیجه کلی شرط false خواهد بود.
عملگر || در سی شارپ
عملگر || زمانی استفاده میشود که کافی باشد حداقل یکی از چند شرط درست باشد.string role = "Admin";
if (role == "Admin" || role == "Manager")
{
Console.WriteLine("دسترسی مجاز است.");
}
در این مثال اگر نقش کاربر Admin یا Manager باشد، شرط برقرار خواهد بود.
- عملگر ! در دستورات شرطی
- عملگر ! نتیجه یک عبارت بولی را معکوس میکند.
bool isLoggedIn = false;
if (!isLoggedIn)
{
Console.WriteLine("کاربر وارد حساب نشده است.");
}
متغیر isLoggedIn مقدار false دارد، اما با استفاده از ! نتیجه شرط معکوس میشود و عبارت به true تبدیل خواهد شد.
دستورات شرطی تو در تو در سی شارپ
در #C امکان قرار دادن یک if داخل if دیگر وجود دارد.به این ساختار Nested if یا شرط تو در تو گفته میشود.
int age = 25;
bool hasAccount = true;
if (age >= 18)
{
if (hasAccount)
{
Console.WriteLine("دسترسی مجاز است.");
}
}
این روش در بعضی شرایط کاربرد دارد، اما اگر بتوان چند شرط را با عملگرهایی مانند && ترکیب کرد، ممکن است کد سادهتر و خواناتر شود:
if (age >= 18 && hasAccount)
{
Console.WriteLine("دسترسی مجاز است.");
}
دستور switch در سی شارپ چیست؟
دستور switch یکی دیگر از ساختارهای مهم دستورات شرطی در سی شارپ است.زمانی که بخواهیم یک مقدار را با چند حالت مختلف مقایسه کنیم، switch میتواند ساختاری خواناتر از زنجیره طولانی else if ایجاد کند.
ساختار کلی آن:
switch (value)
{
case value1:
// دستورات
break;
case value2:
// دستورات
break;
default:
// حالت پیشفرض
break;
}
مثال:
int day = 2;
switch (day)
{
case 1:
Console.WriteLine("شنبه");
break;
case 2:
Console.WriteLine("یکشنبه");
break;
case 3:
Console.WriteLine("دوشنبه");
break;
default:
Console.WriteLine("روز نامعتبر است.");
break;
}
در این مثال مقدار day با حالتهای مختلف مقایسه میشود. چون مقدار آن ۲ است، بخش case 2 اجرا خواهد شد.
تفاوت if و switch در سی شارپ چیست؟
if و switch هر دو برای تصمیمگیری در برنامه استفاده میشوند، اما کاربردهای متفاوتی دارند.اگر شرایط شما شامل مقایسههای مختلف و ترکیبی باشد، if معمولاً انتخاب مناسبی است:
if (age >= 18 && hasAccount)
{
Console.WriteLine("دسترسی مجاز است.");
}
اما اگر بخواهید یک مقدار مشخص را با چند حالت مختلف مقایسه کنید، switch میتواند خوانایی بیشتری داشته باشد:
switch (role)
{
case "Admin":
Console.WriteLine("مدیر");
break;
case "User":
Console.WriteLine("کاربر");
break;
case "Guest":
Console.WriteLine("مهمان");
break;
default:
Console.WriteLine("نقش نامشخص");
break;
}
بنابراین نمیتوان گفت یکی همیشه بهتر از دیگری است؛ انتخاب بین if و switch به نوع مسئله و ساختار شرطها بستگی دارد.
یک مثال عملی از دستورات شرطی در سی شارپ
فرض کنید میخواهیم برنامهای برای بررسی وضعیت سفارش بنویسیم:string status = "Paid";
if (status == "Paid")
{
Console.WriteLine("سفارش پرداخت شده است.");
}
else if (status == "Pending")
{
Console.WriteLine("پرداخت سفارش در انتظار است.");
}
else if (status == "Canceled")
{
Console.WriteLine("سفارش لغو شده است.");
}
else
{
Console.WriteLine("وضعیت سفارش نامشخص است.");
}
چنین ساختاری را میتوان در پروژههای واقعی برای بررسی وضعیت سفارش، وضعیت پرداخت، سطح دسترسی کاربر، وضعیت ثبتنام و بسیاری از بخشهای دیگر استفاده کرد.
سوالات متداول درباره دستورات شرطی در سی شارپ
دستورات شرطی در سی شارپ چیست؟
دستورات شرطی ساختارهایی هستند که به برنامه اجازه میدهند بر اساس نتیجه یک شرط، مسیر اجرای متفاوتی را انتخاب کند.مهمترین آنها if و switch هستند.
تفاوت if و else در #C چیست؟
if زمانی اجرا میشود که شرط آن true باشد و else زمانی اجرا میشود که شرط if برقرار نباشد.تفاوت if و switch در سی شارپ چیست؟
if برای بررسی شرایط مختلف و ترکیبی انعطافپذیر است، در حالی که switch برای انتخاب بین چند حالت بر اساس یک مقدار یا الگوی مشخص کاربرد زیادی دارد.else if در سی شارپ چه کاربردی دارد؟
از else if برای بررسی چند شرط مختلف بهصورت پشت سر هم استفاده میشود.برنامه شرطها را از بالا به پایین بررسی میکند و اولین شرط درست را اجرا میکند.


کاربران ما
شما هم نظرتون با ما دریاره “دستورات شرطی در سی شارپ” اشتراک بزارید
برای ارسال نظر لطفا ورود یا ثبت نام کنید