عملگر های رابطه ای و مقایسه داده ها
برای مقایسۀ بین اعداد از عملگرهای رابطهای استفاده کنیم که همان عملگرهای آشنایی هستند که کوچکتر و بزرگتر بودن اعداد نسبت به همدیگر را مشخص میکنند. نتیجۀ این مقایسهها همیشه درست یا غلط بودن را نشان میدهد.
نوع داده bool مخصوص اینگونه مقایسههاست و فقط دو حالت در خود ذخیره میکند: true و false که بهترتیب معادل درست و غلط است.
مقایسه اعداد با یکدیگر
میتوانیم از علامتهای > (بزرگتر)، <(کوچکتر)، >= (بزرگتر یا مساوی) و <= (کوچکتر یا مساوی) برای مقایسۀ بین دو متغیر عددی استفاده کنیم. برای بررسی برابر بودن دو متغیر عددی باید از == (دو علامت مساوی) استفاده کنیم و برای بررسی برابر نبودن دو متغیر عددی باید از != (علامت تعجب و علامت مساوی) استفاده کنیم که نتیجۀ این مقایسهها دو حالت درست یا غلط خواهد بود؛ یعنی یا این مقایسه صحیح است یا نیست. برای مثال 5 < 2 صحیح نیست و نتیجه غلط است، اما 4 > 3 صحیح است.
قطعه کد زیر را در نظر بگیرید:
int myAge = 38;
int billAge = 67;
bool isOlderThanMe = myAge < billAge;
Console.WriteLine(isOlderThanMe);
در قطعه کد بالا یک متغیر از نوع عدد صحیح با نام myAge تعریف کردیم که مقدار 38 به آن تخصیص داده شده است. متغیر دیگری هم از نوع عدد صحیح تعریف کردیم با نام billAge که مقدار 67 به آن تخصیص داده شده است. درنهایت متغیری از نوع bool با نام isOlderThanMe تعریف کردیم که نتیجۀ مقایسۀ دو متغیر قبلی را در خود نگه میدارد، همانطور که قبلاً گفته شد، ابتدا محاسبات سمت راست علامت = انجام میشود (یعنی myAge < billAge که نتیجۀ آن true است( و سپس به متغیر سمت چپ تخصیص داده میشود و آن را نمایش دادیم که عبارت True را در کنسول نمایش میدهد.
دقت کنید که برای نمایش مقدار درست در کد از true استفاده میکنیم (حرف کوچک t) ولی بهشکل True در کنسول نمایش داده میشود (با حرف بزرگ T).
تفاوت = (یک مساوی) با == (دو مساوی)
قطعه کد زیر را در نظر بگیرید:
bool isSameAge = (myAge == billAge);
ابتدا محاسبات سمت راست علامت = (یک مساوی) انجام میشود یعنی
myAge == billAge. علامت == (دو مساوی) برابر بودن دو متغیر را بررسی میکند که با هم برابر نیستند، پس نتیجه نادرست یعنی false است، در نتیجه مقدار متغیر isSameAge برابر با false میشود.
یک علامت مساوی (=) به معنی تخصیص مقدار سمت راست به متغیر سمت چپ است. دو علامت مساوی (==) به معنی بررسی برابر بودن مقادیر است.
استفاده از پرانتز برای خوانایی بیشتر
باز هم برای خوانایی بیشتر میتوانیم از پرانتز استفاده کنیم.
قطعه کدهای زیر با هم برابرند.
bool isOlderThanMe = myAge < billAge;
bool isOlderThanMe = (myAge < billAge);
در صورت تغییر در قطعه کد بالا به هریک از سه حالت زیر چه مقداری در کنسول نمایش داده میشود؟
bool isOlderThanMe = (myAge <= billAge);
bool isYoungerThanMe = (myAge > billAge);
bool isDifferentAge = (myAge != billAge);