في لغة C#، تُستخدم العوامل (Operators) لإجراء عمليات مختلفة على المعاملات (Operands). تشمل هذه العمليات الحسابية والمنطقية وعمليات الإسناد والمقارنة وغيرها. إليك شرح مفصل لخصائص العوامل في C#:

1. أنواع العوامل في C#:

  • العوامل الحسابية (Arithmetic Operators): تُستخدم لإجراء العمليات الحسابية الأساسية.

    • + (الجمع)
    • - (الطرح)
    • * (الضرب)
    • / (القسمة)
    • % (باقي القسمة أو المعامل)
    • ++ (الزيادة بمقدار واحد)
    • -- (النقصان بمقدار واحد)
  • عوامل الإسناد (Assignment Operators): تُستخدم لإسناد قيم للمتغيرات.

    • = (إسناد قيمة)
    • += (إضافة ثم إسناد)
    • -= (طرح ثم إسناد)
    • *= (ضرب ثم إسناد)
    • /= (قسمة ثم إسناد)
    • %= (باقي قسمة ثم إسناد)
  • عوامل المقارنة (Comparison Operators): تُستخدم لمقارنة قيمتين. تُرجع هذه العوامل قيمة منطقية (true أو false).

    • == (يساوي)
    • != (لا يساوي)
    • > (أكبر من)
    • < (أصغر من)
    • >= (أكبر من أو يساوي)
    • <= (أصغر من أو يساوي)
  • العوامل المنطقية (Logical Operators): تُستخدم لإجراء عمليات منطقية على تعبيرات منطقية.

    • && (و المنطقية)
    • || (أو المنطقية)
    • ! (ليس المنطقية)
  • العوامل الثنائية (Bitwise Operators): تُستخدم لإجراء عمليات على مستوى البتات.

    • & (و الثنائية)
    • | (أو الثنائية)
    • ^ (أو الحصرية الثنائية)
    • ~ (ليس الثنائية)
    • << (الإزاحة إلى اليسار)
    • >> (الإزاحة إلى اليمين)
  • عوامل أخرى:

    • ?: (عامل الشرط الثلاثي)
    • ?? (عامل دمج القيم الخالية)
    • . (عامل الوصول إلى الأعضاء)
    • [] (عامل الوصول إلى عناصر المصفوفة)
    • () (عامل استدعاء الدوال)
    • as (عامل التحويل الآمن)
    • is (عامل التحقق من النوع)
    • new (عامل إنشاء كائنات)
    • typeof (عامل الحصول على نوع الكائن)
    • checked و unchecked (يتحكمان في التحقق من تجاوز سعة الذاكرة في العمليات الحسابية)

2. أسبقية العوامل (Operator Precedence):

تحدد أسبقية العوامل ترتيب تنفيذ العمليات في تعبير يحتوي على أكثر من عامل. على سبيل المثال، عملية الضرب والقسمة لها أسبقية أعلى من الجمع والطرح. يمكنك استخدام الأقواس () لتغيير أسبقية العمليات.

3. مثال توضيحي:

C#
int x = 10;
int y = 5;

int sum = x + y; // الجمع
int difference = x - y; // الطرح
int product = x * y; // الضرب
int quotient = x / y; // القسمة
int remainder = x % y; // باقي القسمة

bool isEqual = x == y; // المقارنة
bool isGreater = x > y; // المقارنة

bool logicalAnd = (x > 0) && (y < 10); // و المنطقية
bool logicalOr = (x < 0) || (y > 0); // أو المنطقية

x += 5; // إضافة ثم إسناد (x = x + 5)

4. ملاحظات هامة:

  • يجب الانتباه إلى أنواع المعاملات عند استخدام العوامل، حيث قد تؤدي بعض العمليات إلى أخطاء إذا كانت الأنواع غير متوافقة.