سؤال

النظر في وقت التقييم، تتبع ما يعادل اثنين؟

if(condition1)
{
    //code1
}
else
{
    //code2
}

condition1 ? code1 : code2

أو هم فقط مختلفون فقط؟

هل كانت مفيدة؟

المحلول

الفرق هو أن المحطة الأخيرة يمكن استخدامها ل إرجاع قيمة بناء على شرط.

على سبيل المثال، إذا كان لديك العبارة التالية:

if (SomeCondition())
{
    text = "Yes";
}
else
{
    text = "No";
}

باستخدام مشغل Ternary، سوف تكتب:

text = SomeCondition() ? "Yes" : "No";

لاحظ كيف المثال الأول تنفيذ بيان بناء على حالة، في حين أن الثانية إرجاع قيمة بناء على شرط.

نصائح أخرى

حسنا ... في الحالة السابقة، يمكنك الحصول على أي مبلغ أو نوع (بيان التعبير مقابل التعبير) من التعليمات البرمجية بدلا من code1 و code2. وبعد في الحالة الأخيرة، يجب أن تكون تعبيرات صالحة.

نعم نعم.

الربح فقط هو حفظ خطوط التعليمات البرمجية.

نعم، هذه هي نماذج سنتين مختلفة وسيعمل بشكل متطابق وسيتم انبعاث رمز متطابق للغاية من قبل المحول البرمجي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top