مقدمه
سلام خدمت همه شما کاربران عزیز سایت نونویسان در این آموزش میخوام بهتون یاد بدم درستورات شرطی چه کاربردی دارند و چگونه باید از این دستورات در برنامه هاتون استفاده کنید فرض کنید شما برنامه نویس سایتی هستید و قصد دارید یک صفحه ثبت نام برای سایتتون برنامه نویسی کنید اینجا دستورات شرطی به کمک شما میان مثلا اگه کاربر قبلا حساب کاربری نداشت براش حساب جدید درست کن اگه داشت ببر کاربر رو به صفحه ورود به سایت این یک نمونه از کاربرد های دستورات شرطیه در ادامه بهتون دستورات شرطی رو معرفی و نحوه کار باهاشون رو میگم
اگه نرم افزار ویژوال استودیو را نصب نکرده اید وارد مقاله دانلود و نصب ویژوال استودیو شوید
آموزش جامع دستور شرطی if در سی شارپ
public class Program
{
static void Main(string[] args)
{
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");
}
Console.ReadKey();
}
}
در بالا براتون کد کامل یک دستور شرطی if رو قرار دادم حالا براتون خط به خط تحلیلش میکنم تا کامل متوجه بشید.
خط اول که کد Console.WriteLine نوشته شده یعنی در یک خط چاپ کن و هرچی داخل کد نوشته بشه بر روی صفحه چاپ میشود که در اینجا به کاربر گفتیم نام کاربریت رو وارد کن در خط دوم یک string به اسم UserName تعریف کردیم که مقدارش رو کاربر وارد میکنه در خط بعد دوباره به کاربر با دستور Console.WriteLine پیغامی رو نشون دادیم که حالا رمز عبور رو وارد کن و رمز عبور هم از کاربر میگیریم و داخل یک string به اسم Password میریزیم.
حالا نوبت دستور شرطی هستش if رو مینویسیم و دوبار دکمه tab رو میزنیم تا خودش کد رو کامل بکنه بعدش باید داخل پرانتز شرطی که قراره بررسی بشه را وارد کنیم مثلا اگه نام کاربری MohammadMahdiZare بود و رمز 123 بود کاربر وارد سایت بشه و اگه نبود وارد نشه حالا میریم که بررسی کنیم.
اول نوبت نام کاربری هستش در دستور شرطی برای نمایش گزینه برابر یدونه مساوی نمیزاریم باید دوتا مساوی بدون فاصله دقیقا مثل کد بزارید؛ چون مقادیر string هستند باید بین دابل کوتیشن نوشته شوند توی کد گفتیه شده اگه UserName برابر بود با MohammadMahdiZare و رمز مساوی بود با 123 Console.WriteLine متن Login را نشون بده.
اگر قرار باشه عبارت تساوی را استفاده کنیم نماد ” && ” را در کد قرار میدهیم در مرحله اول اگر شرط داخل پرانتز if صحیح باشد کد داخل بلوک اول اجرا میشود اما اگر نادرست باشد و شرط اجرا نشود وارد بخش else میشویم.
حالا ممکنه شما نیاز نداشته باشید که هر دو شرط درست باشند و با صحیح بودن یکی از طرفین شرط اجرا شود اینجا بجای ” && ” از ” || ” استفاده میکنیم که برای نوشتن این نماد باید دکمه shift و ” پ ” فارسی را فشار دهید
public class Program
{
static void Main(string[] args)
{
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");
}
Console.ReadKey();
}
}
اگر به کد جدید دقت کنید در دستوری شرطی if ” && ” تبدیل به ” || ” شده یعنی دیگه لازم نیست هم نام کاربری MohammadMahdiZare باشه هم رمز 123 اگه یکیش هم درست باشه وارد if میشه و Login رو نمایش میده حالا شاید بخواین شرط های بیشتری رو بررسی کنید به کد خط بعدی دقت کنید ببینید چی اضافه شده تا بهتون کامل بگم
static void Main(string[] args)
{
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 if (UserName == "MohammadMahdiZare" || Passwrd == "123")
{
Console.WriteLine("UserName Or Password");
}
else
{
Console.WriteLine("Not Login");
}
Console.ReadKey();
}
در اینجا جلوی else یک if دیگر اضافه شد در این صورت میتونید شرط های بیشتری رو بررسی کنید این کد یعنی اگه س نام کاربری MohammadMahdiZare بود و رمز 123 بود به کاربر Login رو نمایش بده اما اگه یکیش درست بود UserName Or Password رو نمایش بده و اگه هرچی بجز اینا باشه و پیشبینی نکرده باشیم else اجرا میشود ولی بهینه نیست که با if شرط های زیادی رو بررسی کنیم if برای شرط های کوتاه مناسب است و اگر شرط ما طولانی تر بود از switch استفاده میکنیم که در ادامه بهتون میگم
آموزش جامه دستور شرطی switch در سی شارپ
public class Program
{
static void Main(string[] args)
{
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();
}
}
کد بالارو با دقت نگاه کنید تا براتون توضیح بدم اول با دستور Console.WriteLine برای کاربر پیغام چاپ کردیم که نام کاربری خودت رو وارد کن و بعد متغیری به اسم UserName تعریف کردیم که با دستور Console.ReadLine از کاربر میگیریم.
حالا نوبت دستور شرطی switch هستش وقتی switch رو نوشتیم داخل پرانتز متغیری که میخواهیم روش بررسی و شرط رو اعمال کنیم مینویسیم که اینجا UserName هستش case رو همانند مثال مینویسید و چون UserName از نوع string هستش جلوی case دابل کوتیشن قرار میدیم و داخل اون نوشته خودمون رو مینویسیم در اینجا case بررسی میکنه برای مثال جلوی case اول نوشتیم اگه کاربر وارد کرد mahdi با دستور Console.WriteLine براش چاپ کن Hello Admin؛ همینطور در case های دیگه شرط های دیگر رو بررسی کرده ایم.
switch دارای دستور default هستش که دقیقا مثل دستور else داخل if هستش برای چیز های پیشبینی نشده کد رو ببینید جلوی default هیچ چیزی نوشته نشده یعنی اگه بجز این مقادیری که من تعریف کردم کاربر وارد کرد دستور default رو اجرا کن و داخل default نوشتیم که برای کاربر با Console.WriteLine چاپ کن Not Foun
تمرین
اول با دستور if بررسی کنید که کاربر Admin هستش یا User بعد با دستور switch نام ادمین رو بگیرید و بهش سلام بدید و اگه ادمین نبود و کاربر بود بهش خوش آمد بگید من کد رو براتون این پایین میزارم ولی خودتون رو گول نزنید و اول خودتون تمرین کنید و در نهایت با کد من بررسی کنید برام داخل اینستاگرام نونویسان عکس تمرین هاتون رو بفرستید
public class Program
{
static void Main(string[] args)
{
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();
}
}