• مقدمه

در زبان برنامه‌نویسی سی‌شارپ، یک‌سری عملگرهای مهمی وجود دارند که می‌بایست حتماً آن‌ها را بدانید؛ چراکه این عملگرها، در هنگام ساخت برنامه‌ی خود، بشدت به آن‌ها نیاز پیدا خواهید کرد. اصطلاحاً به این عملگرها، Conditional Operators می‌گویند.

  • Conditional Operators

شما تاکنون با یک Conditional Operator (عملگر مقایسه‌ای)، یعنی دو-مساوی (==) آشنا شده‌اید. شما از این عملگر در دستورات شرطی IF از آن استفاده می‌کنید و مقدار داخل یک متغیر را توسط جمله‌ای شبیه به «آیا دارای مقدار … است؟» بررسی می‌کنید. مثلاً:

if ( myVariable ==10)

{

            //EXECUTE SOME CODES

}

پس در کد بالا درواقع مقدار داخل myVariable را بررسی می‌کنیم که آیا دارای مقدار ۱۰ است یا خیر! سپس اگر دارای چنین مقداری بود، کدهای داخل دستور شرطی IF اجر شوند. از جمله Conditional Operator های دیگر که احتمالاً در آینده بسیار بدرد خواهند خورد و کاربرد آن‌ها بسیار زیاد است، دستورات زیر می‌باشد:

1-operators

اکنون که شما این چند Conditional Operators مهم را فراگرفتید، اجازه دهید که باهمدیگر این‌ها را تمرین کنیم تا دقیقاً متوجه کاربرد آن‌ها شوید.

یک پروژه‌ی جدید بسازید و در آن دو عدد Text Box قرار دهید. یک button هم اضافه کنید. در propertyهای Text مربوط به Text Box ها، در اولین Text Box عدد ۸ را وارد کنید و در دومی، عدد ۷.

Text مربوط به button رو نیز به عبارت Compare (=مقایسه) تغییر دهید. اکنون فرم شما به شکل زیر است:

2-formCompare

بر روی button دابل-کلیک کنید تا وارد بخش کدها شوید. کاری که ما انجام می‌دهیم این است که شماره‌ها را از Text Box ها میگیرم و آن‌ها را با یکدیگر مقایسه می‌کنیم. پس اولین کار ما، تعریف دو متغیر از نوع int است.

int firstNumber;

int secondNumber;

سپس عددهای داخل Text Box را دریافت می‌کنیم (که بصورت String هستند) و با استفاده از متد Parse، آن‌ها را به مقدار int تغییر می‌دهیم.

firstNumber = int.Parse(textBox1.Text);

secondNumber = int.Parse(textBox2.Text);

الان ما باید کدی بنویسیم که این دو عدد را با یکدیگر مقایسه کند و تعیین کند که کدام یک از ارقام، از دیگری بزرگ‌تر است. درواقع سوال را باید بدین شکل طرح کرد؛ «آیا رقم اول، از رقم دوم بزرگ‌تر است؟»

برای پاسخ دادن به این سوال به‌شکل برنامه‌نویسی، می‌توان از دستور شرطی IF استفاده نمود. همچنین برای تعیین بزرگ‌تر با کوچک‌تر بودن ارقام، می‌توان از Conditional Operator که در بالا معرفی کردیم، استفاده کنیم. پس بدین‌شکل کدهایمان را می‌نویسیم:

if (firstNumber > secondNumber)

{

            MessageBox.Show(“The first number was greater than the second number”);

}

اکنون باید بخش کدنویسی شما شبیه به زیر شده باشد:

3-greater_Than

حال به‌سراغ تشریح کدهایی که نوشتیم بپردازیم؛ در داخل دستور if بین دو پرانتز، ما در واقع دو متغیری را که قبلاً تعریف کرده‌بودیم را با یکدیگر مقایسه می‌کنیم. با استفاده از Conditional Operator که در اول آموزش در رابطه با آن توصیح دادیم، ما با استفاده از علامت بزرگ‌تر، سعی کردیم که رابطه‌ای میان این دو متغیر ایجاد کنیم؛ در واقع این دو را با یکدیگر مقایسه کنیم.

برنامه‌ی خود را اجرا کنید. بر روی button کلیک کنید؛ خواهید دید که MessageBox که در کدهایتان تعریف کرده‌اید برای شما نمایش داده می‌شود. اکنون در اولین Text Box عدد ۶  را بنویسید. دوباره بر روی Button کلیک کنید؛ این‌بار اتفاقی نمی‌افتد. دلیل آن، این است که در دستور IF ما فقط این موضوع را بررسی کردیم که آیا متغیر firstNumber از secondNumber بزرگ‌تر است یا خیر، اما حالت برعکس آن را بررسی نکردیم. پس کدی را به کدهایمان اضافه می‌کنیم. داریم:

if (firstNumber < secondNumbe)

{

            MessageBox.Show(“The first number was less than the second number.”);

}

دوباره برنامه‌ خود را اجرا کنید و حالت‌های مختلف را امتحان کنید. خواهید دید که در همه حال (تنها حالتی که دو رقم با هم برابر باشند)  Message Box برای شما نمایش داده خواهد شد.

برای حالت مساوی، یکی از روش‌ها استفاده از علامت دومساوی (==) می‌باشد. اما حالت دیگر استفاده از نماد بزرگ‌تر مساوی و یا کوچک‌تر مساوی می‌باشد (<= و یا >=)

دستور Conditional Operator بعدی ما، علامت مساوی نیست (!=) می‌باشد. با استفاده از این عملگر، شما تعیین می‌کنید که آیا دو متغیر (یا دو مقدار) با هم برابر هستند یا نه. به کد زیر دقت کنید:

if (firstNumber != secondNumber)

{

            //SOME CODE HERE

}

پس کد بالا با این مفهوم ترجمه می‌شود: «اگر مقدار firstNumber برابر نباشد با مقدار secondNumber، پس کدهای داخل دستور IF را اجرا کن.»

در رابطه با عملگرهای منطقی همانند OR، NOT، AND و …، اگر کمی با ریاضیات آشنایی داشته باشید، می‌دانید که چگونه در عمل از آن‌ها استفاده می‌شود. بنابراین ترجیح می‌دهم که اگر با آن‌ها آشنایی ندارید، در اینترنت جستجو کرده و کمی با آن‌ها آشنا شوید.

علامت عملگر منطقی NOT، به‌شکل علامت تعجب (!) می‌باشد. به کد زیر دقت کنید:

bool testValue = false;

if (!testValue)

{

            MessageBox.Show(“Value was false.”);

}

عملگر NOT، مقدار True را به False، و مقدار False را به True تبدیل می‌کند. پس در کد بالا وقتی که عملگر NOT را همراه با متغیر testValue می‌آوریم، مقدار آن را از False به True تبدیل می‌کند؛ درنتیجه نتیجه داخل پرانتز مربوط به IF به‌صورت True خواهد شد، پس کد‌های درون آن اجرا می‌شوند.

جهت دریافت این بخش آموزشی بصورت یک فایل PDF، اینجا را کلیک کنید.