أساسيات البرمجة سي شارب المشغلات أو المعاملات الحسابية والمنطقية 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
التسميات: csharp-basic
<< الصفحة الرئيسية