دستورات شرطی یا شرطها در برنامهنویسی، بخشی از زبانهای برنامه نویسی هستند که به برنامهنویس امکان میدهند تصمیمگیریهای مختلف را بر اساس شرایط مختلف انجام دهند. این شرایط معمولاً با استفاده از عبارتهای منطقی یا مقایسهای مشخص میشوند. دستورات شرطی به برنامهنویس اجازه میدهند تا بر اساس ورودیها، وضعیتها و شرایط مختلف، رفتار متفاوتی را برنامهریزی کنند. این ابزار بسیار مهم در ایجاد برنامههایی هستند که باید به طور پویا و با توجه به متغیرهای مختلف عمل کنند که در ادامه آموزش دستورات شرطی در سی شارپ به آنها اشاره میشود.
زمانی از کوچکتر و بزرگتر استفاده میکنیم که پای یک عدد در کار باشد و بخواهیم بررسی کنیم مقدار از یک عدد کوچکتر یا بزرگتر باشد.
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();
برای مدیریت رویدادهای داخل سایت باید بتوانیم آنها را مدیریت کنیم و تنها راه این مشکل استفاده از دستورات شرطی است که میتوانیم با کمک آنها اتفاقات داخل سایت را مدیریت کنیم
دستورات شرطی یا شرطها در برنامهنویسی، بخشی از زبانهای برنامهنویسی هستند که به برنامهنویس امکان میدهند تصمیمگیریهای مختلف را بر اساس شرایط مختلف انجام دهند. این شرایط معمولاً با استفاده از عبارتهای منطقی یا مقایسهای مشخص میشوند. دستورات شرطی به برنامهنویس اجازه میدهند تا بر اساس ورودیها، وضعیتها و شرایط مختلف، رفتار متفاوتی را برنامهریزی کنند
در دستورات شرطی نونویسان همراه با آموزش ویدئویی و سورس کد به صورت جامع صفر تا صد یاد میگیرید که دستورات شرطی چیست و چگونه کار میکند