کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش اپراتورهای سی شارپ

دوره آموزش برنامه نویسی C#

کلیه حقوق مادی و معنوی این مقاله متعلق به آموزشگاه تحلیل داده می باشد و هر گونه استفاده غیر قانونی از آن پیگرد قانونی دارد.

آموزش اپراتورهای سی شارپ

یک اپراتور نمادیست که می گوید یک کامپایلر یک عملیات منطقی و ریاضی خاص را انجام می دهد. #C در اپوراتور های توکار غنی است و انواع عملیات زیر انجام می دهد.

 اپراتورهای محاسباتی  (arithmetic operators)

اپراتورهای رابطه ای (relational operators)

اپراتورهای منطقی (logical operators)

اپراتورهای (bitwise operators) bitwise

اپراتورهای جایگزین (assignment operators)

اپراتورهای (misc operators) misc

 

این مقاله همه انواع اپراتورها از جمله اچراتورهای رابطه ای ،منطقی ، bitwiseو جایگزین را تک به تک توضیح می دهد.

اپراتورهای محاسباتی

جدول زیر اپراتورهای محاسباتی را توضیح می دهد که توسط C# ساپورت می شوند. فرض می کنیم متغیر A ده و متغیرB  بیست است.

چند مثال

عملگر

شرح

مثال

+

دوعامل را جمع می کند.

A + B will give 30

-

عامل دوم را از اول کم می کند.

A - B will give -10

*

دوعامل را ضرب می کند.

A * B will give 200

/

شمارشگر را از غیر شمارگر تقسیم می کند.

B / A will give 2

%

قدر مطلق اپراتور و باقیمانده تقسیم عدد صحیح را انجام می دهد.

B % A will give 0

++

اپراتور افزایشی مقدار عدد صحیح را با یک جمع می کند.

A++ will give 11

--

اپراتور کاهشی مقدار عدد صحیح را از یک  کم می کند.

A-- will give 9

 

اپراتور های رابطه ای

جدول زیر همه انواع اپراتورهای رابطه ای را که بوسیله C# ساپورت می شوند را نشان می دهد. فرض می کنیم متغیر A  ده و متغیر B  بیست است.

چند مثال

 عملگر

شرح

مثال

==

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

(A == B) is not true.

!=

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

(A != B) is true.

>

بررسی می کنیم آیا مقدارعامل سمت چپ بزرگتر از عامل سمت راست است اگر جواب بله است شرط  صحیح است.

(A > B) is not true.

<

بررسی می کنیم ایا مقدار عامل سمت چپ کمتر از عامل سمت راست است اگر بله است شرط صحیح است.

(A < B) is true.

>=

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

(A >= B) is not true.

&lt;=

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

(A <= B) is true.

 

 اپراتورهای منطقی

جدول زیر همه انواع اپراتورهای منطقی را که بوسیله C# ساپورت می شوند را نشان می دهد. فرض می کنیم متغیر A مقدار صحیح BOOLEAN است و متغیر B مقدار نادرستBOOLEAN است. سپس مثال های زیر را نگاه می کنیم.

 عملگر

شرح

مثال

&&

اپراتور منطقی AND. نامیده می شود.اگر هر دو اپراتور غیر صفر باشندشرط صحیح است.

(A && B) is false.

||

اپراتور منطقی OR نامیده می شود اگر هر کدام از اپراتورها غیر صفر باشند.

(A || B) is true.

!

اپراتور منطقی NOT نامیده می شود از قسمت وارونه  منطقی استفاده می کنیم.اگر شرط صحیح باشد اپراتور منطقی NOT نادرست است.

!(A && B) is true.

 

 اپراتور BITWISE

اپراتور BITWISE روی  bits  کار می کند و به صورت  bit  bit است. جدول صحیح برای & ،  |، and^ به شکل زیر است.

 

p

q

p & q

p | q

p ^ q

0

0

0

0

0

0

1

0

1

1

1

1

1

1

0

1

0

0

1

1

 

فرض می کنیم اگر A = 60; and B = 13;. اکنون در فرمت باینری آنها به شکل زیر خواهند بود.

 A = 0011 1100 
B =
0000 1101
        -------------------------------------
        A&B =
0000 1100
        A|B = 0011 1101
        A^B = 0011 0001
        ~A  = 1100 0011

 

اپراتورهای BITWISE  که توسط C# سلپورت می شوند در جدول زیر آمده اند. فرض می کنیم متغیر A شصت باشد و متغیر B سیزده باشد.

اکنون مثالها را ببینیم

عملگر

شرح

مثال

&

اپراتور باینری AND کپی می کند بیت را به نتیجه ای که در هر دو عامل وجود داشته باشد.

(A & B) will give 12. which is 0000 1100

|

اپراتور باینری OR کپی میکند یک بیت را اگر آن در هرکدام از عامل ها باشد.

(A | B) will give 61، which is 0011 1101

^

اپراتور باینری XOR کپی میکند بیتی را که در مجموعه یک عامل باشد. نه در هر دو عامل. منظور مختص فقط یک یک عامل است.

(A ^ B) will give 49، which is 0011 0001

~

اپراتور مکمل باینری حالت یگانه دارد و تحت تاثیر جابجاشدن بیت هاست.

(~A ) will give -61، which is 1100 0011 in 2's complement due to a signed binary number.

&lt;<

اپراتور Baynary left  shift مفدار عامل سمت چپ به سمت چپ حرکت  می کندکه این امر از طریق تعداد بیت هایی صورت می گیرد که مختص عامل سمت راست است.

A << 2 will give 240، which is 1111 0000

>>

اپراتور Baynary right  shift مفدار عامل سمت چپ به سمت راست حرکت  می کندکه این امر از طریق تعداد بیت هایی صورت می گیرد که مختص عامل سمت راست است.

A >> 2 will give 15، which is 0000 1111

 

اپراتورهای جایگزینی

در زیر اپراتورهای جایگزینی که توسط C# ساپورت می شوند تضیح داده شده اند.

نمایش مثال ها

 

عملگر

شرح

مثال

=

اپراتورهای جایگزینی ساده:مقدار عاملهای سمت راست را نسبت چپ تعیین می مند.

C = A + B will assign value of A + B into C

+=

اپراتورهای جایگزینی AND اضافه می کند و عامل سمت راست را به سمت چپ اضافه می کند. و نتیجه عامل را جایگزین چپ می کند.

C += A is equivalent to C = C + A

-=

اپراتور جایگزین AND را کسر می کند و عامل سمت راست را از سمت چپ کم می کند و نتیجه را جایگزین سمت راست می کند.

C -= A is equivalent to C = C - A

*=

اپراتور جایگزین AND را ضرب می کند. یعنی عامل چپ ضربدر عامل راست می شود و نتیجه را در سمت چپ جایگزین می کند.

C *= A is equivalent to C = C * A

/=

عامل جایگزین AND تفسیم می شود.یعنی عامل چپ تفسیم بر عامل راست می شود و نتیجه را در سمت چپ جایگزین می کند.

C /= A is equivalent to C = C / A

%=

عامل جایگزینی فدر مطلق AND.یعنی قدر مطلق به کمک دوعامل بدست می اید و نتیجه را به سمت چپ منتقل می کند.

C %= A is equivalent to C = C % A

&lt;<=

LEFT SHIFT ANDعامل جایگزین

C <<= 2 is same as C = C << 2

>>=

RIGHT SHIFT AND عامل جایگزین

C >>= 2 is same as C = C >> 2

&=

ANDعامل جایگزین  درBITWISE  

C &= 2 is same as C = C & 2

^=

این علامت  ORرا درBITWISE   و عامل جایگزین را منزوی می کند.

C ^= 2 is same as C = C ^ 2

|=

ORرا درBITWISE   و عامل جایگزین را مشمول خود قرار میدهد.

C |= 2 is same as C = C | 2

 

اپراتور MISC

چندین اپراتور مهم دیگر وجود دارد که توسط C#  ساپورت می شوند مانند :SIZEOF ،TYPEOF  AND?

 

عملگر

شرح

مثال

sizeof()

سایز یک نوع از داده را باز می گرداند.

sizeof(int)، will return 4.

typeof()

نوع یک کلاس را باز می گرداند.

typeof(StreamReader);

&

آدرس یک متغیر را باز می گرداند.

&a; will give actual address of the variable.

*

به یک متغیر اشاره می کند.

*a; will pointer to a variable.

? :

بیان شرط

If Condition is true ? Then value X : Otherwise value Y

is

تعیین می کند که آیا یک مقصد از یک نوع خاص است.

If( Ford is Car) // checks if Ford is an object of the Car class.

as

Cast without raising an exception if the cast fails.

Object obj = new StringReader("Hello"); 
StringReader r = obj as StringReader;

 

نمایش مثال ها

اولویت اپراتورها در C#

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

 با مثال X=7+3*2،X ، 13 نشان داده می شود نه 20. چون اپراتور ضرب نسبت به جمع تقدم بیشتری دارد. ابتدا 3*2  انجام می شود و سپس با هم جمع می شوند. در اینجا اپراتور هایی که دارای تقدم های بیشتر هستند در بالای جدول می آیند و آنهایی که تقدم کمتری دارند در پایین قرار می گیرند. با این توضیح اپراتور های دارای تقدم بیشتر در ابتدا ارزیابی می شوند.

 

1394/07/27 5730 1102
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...