آموزش سی شارپ C# قسمت ششم

1395/1/12 محمد احمدی 5520

جلسه قبل عملگرهای مقایسه ای و عملگر شرطی و دستور شرطی رو توضیح دادیم . این جلسه میخوایم در مورد عملگرهای منطقی و بیتی صحبت کنیم

فرض کنیم میخوایم دوتا شرط رو داخل یک دستور 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

همونطور که گفتم عملگرهای دیگه ای هم هستن که در صورت تمایل میتونید از لینیکی که دادم مشاهده کنید .

خب این جلسه تموم شد .

خدا رو شکر از جلسه بعد راحت تر میتونیم کد نویسی کنیم و از بحث های تشریحی فاصله کمتر میگیریم و بیشتر وارد مباحث شیرین برنامه نویسی میشیم .

آیکن دانلود دانلود PDF قسمت ششم آموزش سی شارپ C#

کانال تلگرام

کلمات کلیدی