الاثنين، 28 أكتوبر 2013

أساسيات البرمجة سي شارب المشغلات أو المعاملات الحسابية والمنطقية C# - Operators

C# - Operators 

المعاملات الحسابية والمنطقية في سي شارب

سي شارب المشغلات أو المعاملات الحسابية والمنطقية
سي شارب المشغلات أو المعاملات الحسابية والمنطقية 

ما هو operator  أو المعامل؟

المعامل هو رمز خاص يخبر  المترجم او المكومبلير  compiler لانجاز عمل ما مثل العلميات الحسابية أو المنطقية ..........
  • لغة سي شارب غنية بالكثير من المعاملات التالي يحتوي على المعاملات التي تتاعامل معها اللغة.
  1. Arithmetic Operators معاملات حسابية
  2. Relational Operators  معاملات المقارنة
  3. Logical Operators معاملات منطقية
  4. Bitwise Operators معاملات الثنائية على مستوى البت
  5. Assignment Operators معاملات الإسناد
  6. 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 (ملاحظة الكثير من المتدريبن يضربون في هذا الجدول بمثال السم والعسل عند التعامل مع هذه المعاملات ).

OperatorDescriptionExample
&&يسمى  بالمعامل المنطقى   ب و حيث أن إذا كانت القمتين تعيد كل منها صحيح فان الناتج صحيح(A && B) الناتج خطأ
||يسمى بالمعامل أو لإي حال كانت إحدى القمتين صحيح فيعيد الناتح صحيح(A || B) الناتج صحيح
!يسمى  بالمعامل لا وهو يعكس الصحيح ليصبح خطا والخطا ليصبح صحيح!(A && B) الناتج صحيح

Bitwise Operators المعاملات الاحادية (معاملات البت)

هذا المعامل يتعامل مع البت بت والجدول الحقيقة التالي يوضح التعاملات ل && و || و^ .
pqp & qp | qp ^ q
00000
01011
11110
10011
نفترض أن 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
OperatorDescriptionExample
&المعامل الثانئي و يقوم بنسخ فقط البت إذا وجدت في الجهتين 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
<<=ازاحة الى اليسار بمقدار 2C <<= 2مساوي  C = C << 2
>>=ازاحة الى اليمين بمقدار 2C >>= 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
IT Help Desk,
SEO Expert ,PHP,C#,ASPX
Al alami st
gaza -jabaliaGaza Strip
Palestine
Email :ahmed.almahallawi@gmail.com
DOB: 05/10/1984
6/05/2014

التسميات: