برای مدیریت رویدادهای داخل سایت باید بتوانیم آنها را مدیریت کنیم و تنها راه این مشکل استفاده از دستورات شرطی است که میتوانیم با کمک آنها اتفاقات داخل سایت را مدیریت کنیم
دستورات شرطی یا شرطها در برنامهنویسی، بخشی از زبانهای برنامهنویسی هستند که به برنامهنویس امکان میدهند تصمیمگیریهای مختلف را بر اساس شرایط مختلف انجام دهند. این شرایط معمولاً با استفاده از عبارتهای منطقی یا مقایسهای مشخص میشوند. دستورات شرطی به برنامهنویس اجازه میدهند تا بر اساس ورودیها، وضعیتها و شرایط مختلف، رفتار متفاوتی را برنامهریزی کنند
دستورات شرطی یا شرطها در برنامهنویسی، بخشی از زبانهای برنامه نویسی هستند که به برنامهنویس امکان میدهند تصمیمگیریهای مختلف را بر اساس شرایط مختلف انجام دهند. این شرایط معمولاً با استفاده از عبارتهای منطقی یا مقایسهای مشخص میشوند. دستورات شرطی به برنامهنویس اجازه میدهند تا بر اساس ورودیها، وضعیتها و شرایط مختلف، رفتار متفاوتی را برنامهریزی کنند. این ابزار بسیار مهم در ایجاد برنامههایی هستند که باید به طور پویا و با توجه به متغیرهای مختلف عمل کنند که در ادامه آموزش دستورات شرطی در سی شارپ به آنها اشاره میشود.
زمانی از کوچکتر و بزرگتر استفاده میکنیم که پای یک عدد در کار باشد و بخواهیم بررسی کنیم مقدار از یک عدد کوچکتر یا بزرگتر باشد.
Console.Write("Pls Enter Number: ");
int Number = Convert.ToInt32(Console.ReadLine());
if (Number > ۱۷)
{
Console.WriteLine("Wellcome");
}
این کد برای سایت هایی خوب است که میخواهند بررسی کنند کاربر به سن قانونی رسیده باشد در اینجا بررسی کردیم اگر سن کاربر بیشتر از ۱۷ باشد به او خوشآمد گویی میکند.
وقتی میخواهیم بررسی کنیم که کاربر همان چیزی را وارد کند که ما میخواهیم از مساوی استفاده میشود که در نام کاربری سایت ها استفاده میشود چون کاربر باید اطلاعات را دقیقا درست وارد کند.
Console.Write("Pls Enter Number: ");
string UserName = Console.ReadLine();
if (UserName == "AliReza")
{
Console.WriteLine("Wellcome");
}
اگر بخواهیم دو شرط را بررسی کنیم باید از And استفاده کنیم که به شکل && استفاده میشود و کاربرد آن وقتی است که باید هر دو شرط صحیح باشند که در ورود کاربران به سایت کاربرد دارد چون هم رمز و هم نام کاربری باید صحیح وارد شود.
Console.Write("Pls Enter Number: ");
int Password = Convert.ToInt32(Console.ReadLine());
Console.Write("Pls Enter Number: ");
string UserName = Console.ReadLine();
if (Password == 123456 && UserName == "Ali")
{
Console.WriteLine("Hello Ali");
}
کاربرد یا همانند And برای بررسی چند شرط است اما یک تفاوت دارد که لازم نیست تمامی شرط ها درست باشند یکی درست باشد کافی است و if اجرا میشود.
Console.Write("Pls Enter Number: ");
int Password = Convert.ToInt32(Console.ReadLine());
Console.Write("Pls Enter Number: ");
string UserName = Console.ReadLine();
if (Password == 123456 || UserName == "Ali")
{
Console.WriteLine("Hello Ali");
}
اگر بخواهیم در بررسی اعداد خود عدد هم بررسی کنیم از این عملگر استفاده میکنیم در عملگر بزرگتر مشاهده کردید که اگر عدد از ۱۷ بزرگتر باشد شرط برقرار است حالا با کمک این عملگر میتوان آن کد را به شکل دیگهای هم نوشت.
Console.Write("Pls Enter Number: ");
int Number = Convert.ToInt32(Console.ReadLine());
if (Number >= ۱۸)
{
Console.WriteLine("Wellcome");
}
در اینجا عدد اگر مساوی هم باشد شرط برقرار است و تنها تفاوت آن با عملگر بزرگتر در همان مساوی است؛ تا اینجا کامل عملگرهای دستورات شرطی در سی شارپ یاد گرفتهاید.
دستورات شرطی در سی شارپ که به شکل معمول استفاده میشوند عبارتند از if و switch که ساختار هرکدام از دستورات شرطی متفاوت است و علاوه بر ساختار تفاوت های دیگری هم دارند برای مثال هرکدام در بخش های مختلفی استفاده میشوند و برنامه نویس باید تشخیص دهد که بهتر است کدام یک از دستورات شرطی در سی شارپ در کد مورد نظر استفاده شود.
if (true)
{
}
else
{
}
ساختار if که یکی از دستورات شرطی در سی شارپ به این شکل است که در جلوی کلمه if شرط نوشته میشود در اینجا باید بجای true کد مورد نظر نوشته شود اگر شرط داخل پرانتز true شود بخش اول یعنی if اجرا میشود در غیر این صورت دستورات داخل else اجرا میشود.
Console.WriteLine("Please Enter UserName");
string UserName = Console.ReadLine();
Console.WriteLine("Please Enter Password");
string Passwrd = Console.ReadLine();
if (UserName == "MohammadMahdiZare" && Passwrd == "123")
{
Console.WriteLine("Login");
}
else
{
Console.WriteLine("Not Login");
}
در مثال بالا از ورودی اطلاعات کاربر جهت ورود به سایت گرفته شده و در شرط بررسی میکنیم که هم باید رمز درست وارد کند و هم باید نام کاربری او درست باشد پس از && استفاده میکنیم و بررسی میکنیم که اگر نام کاربری وارد شده MohammadMahdiZare بود و رمز نیز ۱۲۳ بود if اجرا شود پس روی صفحه عبارت Login نوشته میشود اما اگر یکی از طرفین یعنی رمز یا نام کاربری غلط باشد Not Login نوشته میشود تا کاربر متوجه خطای ایجاد شده شود؛ اما اگر خواستیم شرط های بیشتری بررسی کنیم باید کمی تغییرات ایجاد کنیم.
Console.WriteLine("Please Enter UserName");
string UserName = Console.ReadLine();
Console.WriteLine("Please Enter Password");
string Passwrd = Console.ReadLine();
if (UserName == "MohammadMahdiZare" && Passwrd == "123")
{
Console.WriteLine("Login Mahdi");
}
else if (UserName == "Alireza" || Passwrd == "123")
{
Console.WriteLine("Login Ali");
}
else
{
Console.WriteLine("Not Login");
}
Console.ReadKey();
در این دستور شرطی یک فرق وجود دارد آن هم else if است که با آن همانند if رفتار میکنیم کافی است ئاخل پرانتز جلوی آن یک شرط برای بررسی قرار دهیم؛ در اینجا نوشتیم اگه یکی از طرفین هم درست بود Login Ali نمایش داده شود لازم نیست دو شرط برقرار باشد کافی است بین رمز یا نام کاربری یکی مطابقت داشته باشد آن موقع شرط true است.
Console.WriteLine("Please Enter UserName");
string UserName = Console.ReadLine();
switch (UserName)
{
case "mahdi":
{
Console.WriteLine("Hello Admin");
break;
}
case "Ali":
{
Console.WriteLine("Hello Writer");
break;
}
case "User":
{
Console.WriteLine("Hello User");
break;
}
default:
{
Console.WriteLine("Not Found");
break;
}
}
Console.ReadKey();
بهتر است برای دستورات طولانی از switch استفاده کنید چون اینگونه بهینه تر است خیلی جذاب نیست از else if های پشت سرهم استفاده کنید در اینجا از ورودی یک نام کاربری دریافت میکنیم و آن را به پرانتز switch میدهیم تا بر روی آن شرط انجام دهیم case ها در اینجا برای بررسی است برای مثال case اول میگوید اگر UserName مساوی mahdi بود شرط داخل آن اجرا شود یعنی روی صفحه Hello Admin نمایش داده شود حالا میتوانیم به ادمین، نویسنده و کاربر پیغام های مناسب نمایش دهیم با یک شرط ساده حالا که به دستورات شرطی در سی شارپ مسلط شدهاید نوبت انجام یک تمرین است البته بعد از تمرین جواب را برای شما قرار میدهم که در صورت بروز مشکل آن را نگاه کنید و خطاهای خود را برطرف کنید.
برای تسلط به دستورات شرطی در سی شارپ یک تمرین باید انجام دهید اول با دستور if بررسی کنید که کاربر Admin هستش یا User بعد با دستور switch نام ادمین رو بگیرید و بهش سلام بدید و اگه ادمین نبود و کاربر بود بهش خوش آمد بگید من کد رو براتون این پایین میزارم ولی خودتون رو گول نزنید و اول خودتون تمرین کنید و در نهایت با کد من بررسی کنید در نهایت اگر مشکلی بود در بخش نظرات مطرح کنید یا تیکت ثبت کنید.
Console.WriteLine("Please Enter Role");
string Role = Console.ReadLine();
if (Role == "Admin")
{
Console.WriteLine("Please Enter Admin Name");
string Admin = Console.ReadLine();
switch (Admin)
{
case "Mahdi":
{
Console.WriteLine("Hello Admin Mahdi");
break;
}
case "Ali":
{
Console.WriteLine("Hello Admin Ali");
break;
}
}
}
else
{
Console.WriteLine("Please Enter UserName");
string User = Console.ReadLine();
switch (User)
{
case "Mahdi":
{
Console.WriteLine("Welcome Mahdi");
break;
}
case "Ali":
{
Console.WriteLine("Welcome Ali");
break;
}
}
}
Console.ReadKey();
آیا تفاوتی در عملکرد دستورات شرطی بین زبانهای برنامهنویسی مختلف وجود دارد؟
اصول پایه دستورات شرطی مانند if و switch در اکثر زبانهای برنامهنویسی مشابه است، اما جزئیات پیادهسازی و نحوه استفاده از آنها ممکن است در هر زبان متفاوت باشد. بهتر است مستندات هر زبان را برای جزئیات بیشتر مطالعه کنید.
آیا میتوانم از if داخل switch استفاده کنم؟
بله، میتوانید از if در داخل یک case در switch استفاده کنید. این کار زمانی مفید است که نیاز دارید بعد از بررسی مقدار اولیه، شرطهای دیگری را نیز بررسی کنید.
چه زمانی باید از دستور default در switch استفاده کرد؟
از دستور default زمانی استفاده کنید که هیچکدام از شرایط caseها مطابقت نداشته باشد. این دستور به عنوان حالت پیشفرض عمل میکند و معمولا برای مدیریت شرایط پیشبینی نشده مفید است.
چگونه میتوانم در دستور شرطی if یک عدد را بررسی کنم که آیا در یک بازه خاص قرار دارد
میتوانید از عملگرهای مقایسهای استفاده کنید. به عنوان مثال، برای بررسی اینکه یک عدد بین ۱۰ و ۲۰ است، میتوانید از کد if (x >= ۱۰ && x <= 20) استفاده کنید.
آیا استفاده از switch برای تمام شرایط مناسب است؟
خیر، switch برای بررسی مقادیر مشخص و گسسته مانند اعداد صحیح و کاراکترها مناسب است. اگر شرایط پیچیدهتری دارید، مانند بررسی مقادیر رنج یا شرایط مقایسهای، بهتر است از if-else استفاده کنید.
چه زمانی باید از else if به جای else استفاده کنم؟
زمانی از else if استفاده کنید که بخواهید چندین شرط مختلف را بررسی کنید. این دستور به شما امکان میدهد پس از بررسی شرط اولیه، شرایط دیگری را هم در صورت عدم تطابق بررسی کنید.
عملگر && چگونه کار میکند؟
عملگر && زمانی درست (True) بازمیگرداند که هر دو شرط اطراف آن درست باشند. برای مثال، اگر دو شرط A و B داشته باشید، A && B زمانی True میشود که هر دو شرط A و B درست باشند.
چگونه میتوان چند شرط را همزمان بررسی کرد؟
برای بررسی چند شرط به طور همزمان میتوان از عملگرهای منطقی مانند && (And) و || (Or) استفاده کرد. این عملگرها به شما اجازه میدهند تا شروط مختلف را در یک دستور بررسی کنید.
تفاوت بین دستور if و switch در سی شارپ چیست؟
دستور if برای شرایط ساده و تعداد کم شرطها مناسب است، در حالی که switch برای زمانی که چندین شرط متفاوت دارید، بهینهتر است. switch به شما امکان میدهد کد را خواناتر و منظمتر کنید.