إذا / آخر vs المشغل ternary
سؤال
النظر في وقت التقييم، تتبع ما يعادل اثنين؟
if(condition1)
{
//code1
}
else
{
//code2
}
condition1 ? code1 : code2
أو هم فقط مختلفون فقط؟
المحلول
الفرق هو أن المحطة الأخيرة يمكن استخدامها ل إرجاع قيمة بناء على شرط.
على سبيل المثال، إذا كان لديك العبارة التالية:
if (SomeCondition())
{
text = "Yes";
}
else
{
text = "No";
}
باستخدام مشغل Ternary، سوف تكتب:
text = SomeCondition() ? "Yes" : "No";
لاحظ كيف المثال الأول تنفيذ بيان بناء على حالة، في حين أن الثانية إرجاع قيمة بناء على شرط.
نصائح أخرى
حسنا ... في الحالة السابقة، يمكنك الحصول على أي مبلغ أو نوع (بيان التعبير مقابل التعبير) من التعليمات البرمجية بدلا من code1
و code2
. وبعد في الحالة الأخيرة، يجب أن تكون تعبيرات صالحة.
نعم نعم.
الربح فقط هو حفظ خطوط التعليمات البرمجية.
نعم، هذه هي نماذج سنتين مختلفة وسيعمل بشكل متطابق وسيتم انبعاث رمز متطابق للغاية من قبل المحول البرمجي.
لا تنتمي إلى StackOverflow