المعامل الثلاثي
جزء من قسم Fundamentals في رحلة C# على Coddy — الدرس 28 من 69.
العامل الثلاثي (ternary operator) هو عبارة if-else بسيطة مكونة من سطر واحد. وله الصيغة التالية:
variable = (condition) ? value_if_true : value_if_false;يقوم العامل الثلاثي (ternary operator) بتقييم الشرط. إذا كان true، فإنه يسند value_if_true للمتغير؛ وإلا، فإنه يسند value_if_false.
على سبيل المثال:
int age = 20;
string message = (age >= 18) ? "Adult" : "Minor";في هذا المثال، بما أن age أكبر من أو يساوي 18، فسيتم تعيين القيمة "Adult" لـ message. أما إذا كانت age أقل من 18، فسيتم تعيين "Minor" لـ message.
يمكنك تداخل المعاملات الثلاثية (ternary operators) للتعامل مع شروط متعددة:
int score = 75;
String grade = (score >= 90) ? "A" : (score >= 80) ? "B" : (score >= 70) ? "C" : "F";يتحقق هذا من شروط متعددة بالترتيب. إذا كان score >= 90، تكون الدرجة "A"؛ وإلا إذا كان score >= 80، تكون الدرجة "B"؛ وإلا إذا كان score >= 70، تكون الدرجة "C"؛ وإلا "F".
ملاحظة: يمكن أن تكون المعاملات الشرطية الثلاثية (ternary operators) المتداخلة صعبة القراءة. بالنسبة للشروط المعقدة، استخدم عبارات if-else بدلاً من ذلك.
التحدي
مبتدئأنشئ برنامجًا يتحقق مما إذا كان الرقم موجبًا أو سالبًا أو صفرًا باستخدام العامل الثلاثي (ternary operator). يجب على البرنامج:
- أخذ مدخل صحيح (integer) من المستخدم.
- استخدم العامل الثلاثي لتحديد ما إذا كان الرقم موجبًا أو سالبًا أو صفرًا. احفظ السلسلة النصية
positiveأوnegativeأوzeroفيresult. - اطبع النتيجة بالتنسيق التالي:
"The number is [positive/negative/zero]".
يمكنك استخدام عامل ثلاثي متداخل (nested) لحل هذه المشكلة.
ورقة مرجعية
العامل الثلاثي (ternary operator) هو عبارة if-else مكونة من سطر واحد بالصيغة التالية:
variable = (condition) ? value_if_true : value_if_false;يقوم بتقييم الشرط ويقوم بتعيين value_if_true إذا كان الشرط true، وإلا فإنه يعين value_if_false.
مثال:
int age = 20;
string message = (age >= 18) ? "Adult" : "Minor";العوامل الثلاثية المتداخلة للتعامل مع شروط متعددة:
int score = 75;
String grade = (score >= 90) ? "A" : (score >= 80) ? "B" : (score >= 70) ? "C" : "F";يتحقق هذا من شروط متعددة بالترتيب. إذا كان score >= 90، تكون الدرجة "A"؛ وإلا إذا كان score >= 80، تكون الدرجة "B"؛ وإلا إذا كان score >= 70، تكون الدرجة "C"؛ وإلا "F".
ملاحظة: قد يصعب قراءة العوامل الثلاثية المتداخلة. بالنسبة للشروط المعقدة، استخدم عبارات if-else بدلاً من ذلك.
جرّب بنفسك
using System;
public class Program {
public static void Main(string[] args) {
int number = int.Parse(Console.ReadLine());
string result = "";
// اكتب الكود الخاص بك أدناه
Console.WriteLine("The number is " + result);
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةالزيادة والنقصانالزيادة والنقصان اللاحقاختصارات العمليات الحسابية7أساسيات الإدخال والإخراج (Basic IO)
الإخراج الأساسيتضمين النصوص (String Interpolation)قراءة المدخلاتالتحليل (Parse)مراجعة - حتى 120مراجعة - True أو False5المعاملات - الجزء الثاني
معاملات المقارنةالمعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالث