أساسيات البرمجة سي شارب المشغلات أو المعاملات الحسابية والمنطقية C# - Operators
C# - Operators
المعاملات الحسابية والمنطقية في سي شارب
![]() |
| سي شارب المشغلات أو المعاملات الحسابية والمنطقية |
ما هو operator أو المعامل؟
المعامل هو رمز خاص يخبر المترجم او المكومبلير compiler لانجاز عمل ما مثل العلميات الحسابية أو المنطقية ..........
- لغة سي شارب غنية بالكثير من المعاملات التالي يحتوي على المعاملات التي تتاعامل معها اللغة.
- Arithmetic Operators معاملات حسابية
- Relational Operators معاملات المقارنة
- Logical Operators معاملات منطقية
- Bitwise Operators معاملات الثنائية على مستوى البت
- Assignment Operators معاملات الإسناد
- Misc Operators معاملات أخرى
Arithmetic Operators المعاملات الحسابية
الجدول التالي يبين المعاملات الحسابية ووصف لاستخدامها. حيث A = 20 , B=10
Operator
المعامل
|
Description
الوصف
|
Example
مثال
|
|---|---|---|
| + | يجمع رقمين | A + B -->30 |
| - | يستخدم للطرح الرقم الثاني من الأول | A - B --> -10 |
| * | يستخدم لعملية الضرب | A * B --> 200 |
| / | يستخدم لعملية القسمة | B / A --> 2 |
| % | باقي القسمة | B % A --> 0 |
| ++ | زيادة بمقدار واحد | A++ --> 11 |
| -- | نقصان بمقدار زاحد | A-- --> 9 |
Relational Operators المعامل العلاقي المقارنة
الجدول التالي يبين المعاملات المقارنة ووصف لاستخدامها. حيث A = 20 , B=10
| Operator المعامل | الوصف Description | Example مثال |
|---|---|---|
| == | يتم المقارنة بين قمتين في حال كانتا متساويتين يعيد قيمة صحيحة | (A == B)الناتج خطأ |
| != | يتم المقارنة بين قمتين غير متساويتين في حال كانتامتساويتين يعيد قيمة خطا أو صحيح في حال كانتا خطأ | (A != B)الناتج صحيح. |
| > | يتم فحص هل القيمة اليسرى اكبر من الصغرى فيعيد قيمة صحيحة أو خطأ في حال العكس | (A > B) الناتج خطا |
| < | يتم فحص القيمة اليسرى أصغرى من اليمين فيعيد قيمة صحيحة أو قيمة خطأ في حال كان العكس | (A < B) الناتج صحيح |
| >= | فحص القيمة اليسرى هل هي أكبر أو يساوي القيمة اليمنى فيعيد قيمة صحيحة في حال كانت اكبر او يساوي او قيمة | (A >= B)الناتج خطا |
| <= | فحص القيمة اليسرى هل هي أصغر أويساوي في حال كانت تعيد قيمة صحيحة والعكس تعيد قيمة خطأ | (A <= B) الناتج صحيح |
Logical Operators المعاملات المنطقية
في المثال التالي A قيمة صحيحة true وبينما B تحمل قيمة False (ملاحظة الكثير من المتدريبن يضربون في هذا الجدول بمثال السم والعسل عند التعامل مع هذه المعاملات ).
| Operator | Description | Example |
|---|---|---|
| && | يسمى بالمعامل المنطقى ب و حيث أن إذا كانت القمتين تعيد كل منها صحيح فان الناتج صحيح | (A && B) الناتج خطأ |
| || | يسمى بالمعامل أو لإي حال كانت إحدى القمتين صحيح فيعيد الناتح صحيح | (A || B) الناتج صحيح |
| ! | يسمى بالمعامل لا وهو يعكس الصحيح ليصبح خطا والخطا ليصبح صحيح | !(A && B) الناتج صحيح |
Bitwise Operators المعاملات الاحادية (معاملات البت)
هذا المعامل يتعامل مع البت بت والجدول الحقيقة التالي يوضح التعاملات ل && و || و^ .
| 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 , B=13 .
A = 0011 1100
B = 0000 1101
-----------------
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001
~A = 1100 0011
في المثال التالي A = 60 , B=13
| Operator | Description | Example |
|---|---|---|
| & | المعامل الثانئي و يقوم بنسخ فقط البت إذا وجدت في الجهتين A و B | (A & B) الناتج 12. الذي هو0000 1100 |
| | | المعامل الثنائي يقوم بنسخ البت إذا وجد في واحد A أو B | (A | B) الناتج 61, الذي 0011 1101 |
| ^ | المعامل الثنائي XOR يقوم بنسخ البت الذي يوجد في A وليس في B | (A ^ B)الناتج e 49, الذي هو 0011 0001 |
| ~ | معامل القلب حيث يقلب 0 ب 1 و 1 ب 0 يعكس البتات | (~A )الناتج -61, الذي 1100 0011 |
| << | تستخدم للازاحة لليسار بمقدار القيمة المعطاة وهنا إزاحة لليسار بمقدار 2 | A << 2 الناتج 240, الذي هو 1111 0000 |
| >> | إزاحة لليمن بمقدار القيمة المعطاة وهنا 2 | A >> 2 الناتج 15, الذي هو0000 1111 |
Assignment Operators معاملات الإسناد
الجدول التالي يوضح معاملات الإسناد في سي شارب.
| Operator المعامل | Description الوصف | Example المثال |
|---|---|---|
| = | يساوي إسناد القيمة عن أي ناتج لعملية حسابية | C = A + B سوف يسند قيمة A + B إلى C |
| += | يضيف القيمة التي على يسار المعامل الى القيمة على اليمين ثم يسندها الى القيمة التي على اليسار | C += A تساوي C = C + A |
| -= | يطرح القيمة التي على يسار المعامل الى القيمة على اليمين ثم يسندها الى القيمة التي على اليسار | C -= A is مساوية C = C - A |
| *= | يضرب القيمة التي على يسار المعامل الى القيمة على اليمين ثم يسندها الى القيمة التي على اليسار | C *= A مساوي الى C = C * A |
| /= | قسمة القيمة التي على يسار المعامل الى القيمة على اليمين ثم يسندها الى القيمة التي على اليسار | C /= A مساوي الى C = C / A |
| %= | باقي القسمة القيمة التي على يسار المعامل الى القيمة على اليمين ثم يسندها الى القيمة التي على اليسار | C %= A مساوي C = C % A |
| <<= | ازاحة الى اليسار بمقدار 2 | C <<= 2مساوي C = C << 2 |
| >>= | ازاحة الى اليمين بمقدار 2 | C >>= 2 نفسه C = C >> 2 |
| &= | المعامل الاحادي البت مع المعامل و | C &= 2 نفسه C = C & 2 |
| ^= | المعامل الاحادي باستناء أو والمعامل و | C ^= 2 نفسه C = C ^ 2 |
| |= | المعامل الاحادي يتضمن أو والمعامل و | C |= 2 نفسه C = C | 2 |
Misc Operators المعاملات الاخرى
| Operator المعامل | Description الوصف | Example مثال |
|---|---|---|
| sizeof() | يرجع عدد خانات نوع البيانات | sizeof(int), يعيد قيمة 4. |
| typeof() | يعيد نوع الفئة الكلاس | typeof(StreamReader); |
| & | يعيد عنوان المتغير في الذاكرة | &a; |
| * | يشير الى المتغير راجع المؤشرات | *a; . |
| ? : | للتعبير عن الشرط | إذا كان الشرط صحيح فاذا ? X : او Y |
| is | يحدد الكائن من اي نوع | If( Ford is Car) //يفحص نوع سيارة هل الكائن من نوع سيارة فورد |
| as | الادلاء بدون الزيادة او حدوث استثناء | Object obj = new StringReader("Hello"); StringReader r = obj as StringReader; |
Operators Precedence in C# الاولوية للمعاملات او العوامل
| التصنيف | Operator | الترتيب |
|---|---|---|
| Postfix | () [] -> . ++ - - | من الشمال الى اليمين |
| Unary | + - ! ~ ++ - - (type)* & sizeof | من اليمين للشمال |
| Multiplicative | * / % | من الشمال الى اليمين |
| Additive | + - | من الشمال الى اليمين |
| Shift | << >> | من الشمال الى اليمين |
| Relational | < <= > >= | من الشمال الى اليمين |
| Equality | == != | من الشمال الى اليمين |
| Bitwise AND | & | من الشمال الى اليمين |
| Bitwise XOR | ^ | من الشمال الى اليمين |
| Bitwise OR | | | من الشمال الى اليمين |
| Logical AND | && | من الشمال الى اليمين |
| Logical OR | || | من الشمال الى اليمين |
| Conditional | ?: | من اليمين للشمال |
| Assignment | = += -= *= /= %=>>= <<= &= ^= |= | من اليمين للشمال |
| Comma | , | من الشمال الى اليمين |
لمتابعتي
تويتر: @aalmahallawi
facebook: SEO Business Marketing
IT Help Desk,
SEO Expert ,PHP,C#,ASPX
Al alami st
gaza -jabalia, Gaza Strip
Palestine
Email :ahmed.almahallawi@gmail.com
DOB: 05/10/1984
6/05/2014
