آموزش سی شارپ C# قسمت ششم
جلسه قبل عملگرهای مقایسه ای و عملگر شرطی و دستور شرطی رو توضیح دادیم . این جلسه میخوایم در مورد عملگرهای منطقی و بیتی صحبت کنیم
فرض کنیم میخوایم دوتا شرط رو داخل یک دستور if بررسی کنیم و دستورات مورد نظرمون رو اجرا کنیم
خب در حالت عادی راه حل اینه که ما دوتا شرط if پشت سر هم بنویسیم و اگه شرط اول برقرار بود , شرط دوم رو چک کنه و در صورت صحیح بودن شرط دوم , دستور مورد نظر اجرا بشه و در صورت عدم صحیح بودن هر دوتا شرط , یک سری دستورات دیگه اجرا بشه .
مثال :
if(username==”Mohamad”)
if(password==”ilikePHP.ir”)
MessageBox.Show(“Welcome”);
else
MessageBox.Show(“Error !”);
else
MessageBox.Show(“Error !”);
خب قطعه کد بالا خیلی واضحه !
دوتا متغیر رو بررسی میکنه اگه شرایط درست بودن پیام خوش آمد و اگه شرایط غلط بودن پیام ارور رو به کاربر نشون میده !
ولی این کد یک مقدار طولانی و کمی گیج کننده ست ! به علاوه ما الان از دوتا دستور if و else استفاده کردیم !
اینجاست که عملگرهای منطقی و بیتی به کمکمون میان !
برخی از عملگرهای منطقی و بیتی در سی شارپ :
1. & AND
2. | OR
3. && AND
4. || OR
5. ^ XOR
6. ! NOT
7. …….
اینها برخی از عملگرهای منطقی هستن .
چون نمیخوایم خیلی روی بحث عملگرها وقت بذاریم بقیه رو توضیح نمیدم و فقط همین چندتایی که بالا گفتم رو توضیح میدم و به بحث خاتمه میدم ( درصورتی که میخواید همه عملگرهای سی شارپ رو به همراه نمونه کد مشاهده کنید به این لینک مراجعه کنید :
https://msdn.microsoft.com/en-us/library/6a71f45d.aspx )
نکته : دقت کنید که عملگر " & با && " و عملگر " | با || " فرق داره که توضیح خدمتتون توضیح میدم .
عملگر & ( and ) :
این عملگر دو عملوند رو در اطراف خودش دریافت میکنه و تنهای درصورتی پاسخ صحیح true رو برمیگردونه که پاسخ شرط هر دو عملوند صحیح یا همون true باشه !!!!
یکم گیج کننده بود . مثال :
bool x = True;
bool y = false;
bool z = true;
if (x&x) // true !
if (x&y) // false !
if (x&z) // true !
if (y&z) // false !
if (y&y) // false !
خب توی شرط های بالا فقط و فقط زمانی پاسخ نهایی if صحیح میشه که هر دوطرف شرط درست باشه !
جدول پاسخ در عملگر & به شکل زیر هست :
X & Y = Z
T & T = T
T & F = F
F & T = F
F & F = F
عملگر | ( OR ) :
این عملگر هم مثل عملگر & دوتا عملوند رو دریافت میکنه . با این تفاوت که در صورت صحیح بودن یکی از عملوند ها نتیجه به عنوان true برگشت داده میشه
جدول پاسخ عملگر | :
X & Y = Z
T & T = T
T & F = T
F & T = T
F & F = F
اگه دقت کنید توی عملگر & از چهار مورد تنها یک مورد پاسخ صحیح هست و سه مورد دیگه پاسخ غلط ارجاع داده میشه . ولی توی عملگر | سه مورد پاسخ صحیح و تنها یک مورد پاسخ غلط ارجاع داده میشه !
عملگر && ( AND ) :
این عملگر کارش دقیقا مثل عملگر & هست . با این تفاوت که نحوه برخوردش با عملوندها متفاوت هست !
عملگر & در ابتدا هر دو عملوند رو بررسی میکنه و بعد نتیجه رو ارجاع میده
ولی عملگر && در ابتدا فقط اولین عملوند رو بررسی میکنه , در صورتی که پاسخ اولین عملوند صحیح بود عملوند دوم رو بررسی میکنه !
خب احتمالا میگید این دوتا فرقی باهم ندارن !
اما نکته اینجاست که اگه شرط های ما متد باشن , تنها متد اول اجرا میشه و متد دوم به هیچ عنوان بررسی نمیشه !
( از اونجایی که هنوز به بحث توابع نرسیدیم خیلی نمیتونیم این قسمت رو خوب توضیح بدیم و بعدا کاملتر باهاش آشنا میشید )
عملگر || ( OR ) :
این عملگر هم دقیقا مثل | هست . با این تفاوت که نحوه برخوردش با عملوند ها همانند عملگر && هست ( ابتدا طرف اول رو چک میکنه ! )
خب گفتیم توی عملگر | تنها اگه یکی از طرفین شرط پاسخ صحیح رو داشته باشه , پاسخ نهایی true میشه ! . یعنی اگه شرط به شکل زیر باشه :
if( false | true ) ///// true !
نتیجه به عنوان true بازگشت داده میشه
ولی اگه همین شرط بالا رو با عملگر || اجرا کنیم پاسخ متفاوتی خواهیم داشت :
if( false || true ) ///// false !
[In reply to آموزش برنامه نویسی - از مبتدی تا حرفه ای]
جدول پاسخ عملگر || :
X & Y = Z
T & T = T
T & F = T
F & T = F
F & F = F
خودتون باید تفاوت رو احساس کنید :)
عملگر ^ ( XOR ) :
طبق معمول این عملگر دوتا عملوند دریافت میکنه . ولی تنها در صورتی پاسخ true رو برمیگردونه که فقط یکی از عملوند ها صحیح باشن و دیگری حتما غلط باشه !!
بیشتر توضیح میدم : حتما یک طرف شرط صحیح و حتما طرف دیگه باید غلط باشه !
جدول پاسخ عملگر ^ :
X & Y = Z
T & T = F
T & F = T
F & T = T
F & F = F
عملگر ! ( NOT ) :
خب این عملگر تنها یک عملوند میپذیره . به این صورت کار میکنه که شرط رو مخالف میکنه ! برای مثال اگه شرط ما صحیح باشه پاسخ غلط رو برمیگردونه , و اگه شرط غلط باشه پاسخ صحیح رو برمیگردونه !
قطعا با جدول راحت تر متوجه میشید :
جدول پاسخ عملگر ! :
X = Z
T = F
F = T
همونطور که گفتم عملگرهای دیگه ای هم هستن که در صورت تمایل میتونید از لینیکی که دادم مشاهده کنید .
خب این جلسه تموم شد .
خدا رو شکر از جلسه بعد راحت تر میتونیم کد نویسی کنیم و از بحث های تشریحی فاصله کمتر میگیریم و بیشتر وارد مباحث شیرین برنامه نویسی میشیم .
نظرات کاربران