if-else (مرجع #C)

عبارة if تحدد العبارة التي يجب تنفيذها بناءً على قيمة تعبير Boolean. في المثال التالي، يتم تعيين الـ result من متغير الـ Boolean إلى true ثم فحصها في عبارة if. الناتج هو: The variable is set to true.

bool result = true;

if (result == true)
{
    Console.WriteLine("The variable is set to true.");
}
else
{
    Console.WriteLine("The variable is set to false.");
}

إذا تم تقييم التعبير في الأقواس إلى true فيتم تنفيذ العبارة Console.WriteLine("The variable is set to true."); . بعد تنفيذ العبارة if يتم نقل التحكم إلى العبارة التالية. لا يتم تنفيذ else في هذا المثال.

إذا أردت تنفيذ أكثر من عبارة، يمكن تنفيذ عبارات متعددة شرطياً عن طريق وضعهم في كتل باستخدام {} كما هو موضح في المثال أعلاه.

يمكن أن تكون العبارات التي يتم تنفيذها عند اختبار الشرط من أي نوع بما في ذلك عبارة if أخرى متداخلة في عبارة if الأصلية. في عبارات if المتداخلة، تنتمي جملة else إلى آخر if ليس لديها else موافقه لها. فعلى سبيل المثال:


int x = 12;
int y = 18;

if (x > 10)
    if (y > 20)
        Console.Write("Statement_1");
    else
        Console.Write("Statement_2");

في هذا المثال، يتم عرض Statement_2 إذا تم تقييم الشرط (y > 20) إلى false. ومع ذلك، إذا أردت إقران Statement_2 مع الشرط (x >10)، استخدم الأقواس:


if (x > 10)
{
    if (y > 20)
        Console.Write("Statement_1");
}
else
    Console.Write("Statement_2");

في هذه الحالة، يتم عرض Statement_2 إذا تم تقييم الشرط (x > 10) إلى false.

مثال

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


    class IfTest
    {
        static void Main()
        {
            Console.Write("Enter a character: ");
            char c = (char)Console.Read();
            if (Char.IsLetter(c))
            {
                if (Char.IsLower(c))
                {
                    Console.WriteLine("The character is lowercase.");
                }
                else
                {
                    Console.WriteLine("The character is uppercase.");
                }
            }
            else
            {
                Console.WriteLine("Not an alphabetic character.");
            }
        }

        /*
        Input:
        2
        Sample Output
        Enter a character: 2
        The character is not an alphabetic character.
        Additional sample might look as follows:
        Run #2:
        Enter a character: A
        The character is uppercase.
        Run #3:
        Enter a character: h
        The character is lowercase.
         * */
    }

من الممكن أيضاً توسيع عبارة if لمعالجة شروط متعددة باستخدام ترتيب else-if التالي:

            if (Condition_1)
            {
                // Statement_1;
            }
            else if (Condition_2)
            {
                // Statement_2;
            }
            else if (Condition_3)
            {
                // Statement_3;
            }
            else
            {
                // Statement_n;
            }

يتحقق هذا المثال من حالة حرف الإدخال ما إذا كان من الأحرف الصغيرة أو من الأحرف الكبيرة أو رقم. وإلا، فإنه ليس من الأحرف الأبجدية وليس رقم. يستخدم البرنامج درج الـ else-if.

    public class IfTest3
{
    static void Main()
    {
        Console.Write("Enter a character: ");
        char c = (char)Console.Read();

        if (Char.IsUpper(c))
        {
            Console.WriteLine("Character is uppercase.");
        }
        else if (Char.IsLower(c))
        {
            Console.WriteLine("Character is lowercase.");
        }
        else if (Char.IsDigit(c))
        {
            Console.WriteLine("Character is a number.");
        }
        else
        {
            Console.WriteLine("Character is not alphanumeric.");
        }
    }
}
    /*
        Sample Input:  E

        Sample Output:
        Enter a character: E
        The character is uppercase.

        Additional sample runs might look as follows:
        Run #2
        Enter a character: e
        The character is lowercase.
        Run #3:
        Enter a character: 4
        The character is a number.
        Run #4:
        Enter a character: $
        The character is not alphanumeric.
    */

مواصفات لغة #C

لمزيد من المعلومات، راجع مواصفات لغة #C. مواصفات اللغة هي المصدر النهائي لبناء جملة C# واستخدامها.

راجع أيضًا:

المرجع

الكلمات الأساسية لـ #C

?: عامل التشغيل (مرجع #C)

The if-else Statement

التبديل (مرجع C#)

المبادئ

دليل البرمجة لـ #C

موارد أخرى

مرجع C#‎