الجمل الشرطية في السي شارب | C# if and Switch

 الجمل الشرطية في سي شارب Condition Statement

في هذا الدرس سنتاول الجمل الشرطية في السي شارب C#

  • انواع الجمل الشرطية
  • الشروط المتداخلة Nested if
  • الجملة Switch
تعلم سي شارب C# بالعربية “الجمل الشرطية في السي شارب”

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

انواع الجمل الشرطية في #C

  • if
  • if..else
  • if..elseif..else

الجملة if

if (condition) {
  // هنا يتنفذ الكود عندما يتحقق الشرط
}

الجملة if..else

if (condition) {
  //يتنفذ عندما يتحقق الشرط
}else{
  //يتنفذ عندما لا يتحقق الشرط
}

الجملة if..elseif..else

if (condition1) {
  //يتنفذ عندما يتحقق الشرط الاول
}else if (condition2) {
  //يتنفذ عندما يتحقق الشرط الثاني
}else{
  //يتنفذ عندما لا يتحقق ولا شرط
}

أمثلة على الجملة IF الشرطية

مثال اول في هذا المثال عرفنا متغيرين واعطينا لكل منهما قيمة 4 وقمنا بعمل شرط وهو اذا تساوى قيمة المتغيرين نفذ ما داخل الشرط

using System;

namespace Example
{
  class Program
  {
    static void Main(string[] args)
    {
        int a=4;
        int b=4;

        if(a==b)
        {
          Console.WriteLine(“االقيمة متساوية”);
        }
    }
  }
}

Output :
االقيمة متساوية

مثال ثاني في هذا المثال عرفنا متغير نصي واعطينا قيمة نصية welcome ثم استخدمنا الدالة length وهي دالة تعيد لنا عدد احرف المتغير النصي وقمنا بعمل شرط وهو اذا عدد احرف المتغير النصي اكبر من 5 نفذ ما داخل الشرط

string str=”welcome”;

if(str.Length>5)
{
Console.WriteLine(“طول النص اكبر من 5 احرف”);
}

Output :
طول النص اكبر من 5 احرف

أمثلة على الجملة IF Else الشرطية

وتعني اذا لم يتحقق الشرط فنفذ ماهو ضمن ال else .

مثال يسمح للطالب بادخال الدرجة ومعرفة هل هو ناجح او راسب

int grade;
Console.Write(“Enter Degree :”);
grade = Convert.ToInt32(Console.ReadLine());

if(grade>=50)
{
  Console.WriteLine(“ناجح”);
}
else
{
  Console.WriteLine(“راسب”);
}

Output :
Enter Degree : 70
ناجح

Output :
Enter Degree : 39
راسب

أمثلة على IF ElseIf الشرطية

وتعني اذا لم يتحقق الشرط الاول فأنتقل الى الشرط الثاني واذا لم يتحقق الشرط الثاني فأنتقل الى الشرط الثالث وهكذا حتى يتم تجربة كل الشروط واذا لم يتحقق ولا شرط ينفذ ما هو موجود ضمن الelse الأخيرة .

مثال اول يسمح للطالب بادخال الدرجة ومعرفة التقييم

int degree;
Console.Write(“Enter Degree :”);
degree =Convert.ToInt32(Console.ReadLine());


if(degree>=90)
{
  Console.Write(“ممتاز”);
}
else if(degree>=80)
{
  Console.Write(“جيد جدا”);
}
else if(degree>=70)
{
  Console.Write(“جيد”);
}
else if(degree>=60)
{
  Console.Write(“متوسط”);
}
else if(degree>=50)
{
  Console.Write(“حالفك الحظ”);
}
else
{
  Console.Write(“راسب”);
}

Output :
Enter Degree : 64
متوسط

Output2 :
Enter Degree : 34
راسب

Output3 :
Enter Degree : 87
جيد جدا

مثال ثاني في هذا المثال عملنا داخل كل if شرطين بينهما علامة && – AND والتي ترجع صحيح اذا تحقق الشرطين .

int degree;
Console.Write(“Enter Degree :”);
degree =Convert.ToInt32(Console.ReadLine());


if(degree>=90)
{
  Console.Write(“ممتاز”);
}
else if(degree>=80 && degree<90)
{
  Console.Write(“جيد جدا”);
}
else if(degree>=70 && degree<80)
{
  Console.Write(“جيد”);
}
else if(degree>=60 && degree<70)
{
  Console.Write(“متوسط”);
}
else if(degree>=50 && degree<60)
{
  Console.Write(“حالفك الحظ”);
}
else
{
  Console.Write(“راسب”);
}

Output :
Enter Degree : 99
ممتاز

Output2 :
Enter Degree : 22
راسب

الشروط المتداخلة Nested if سي شارب

وتعني اذا تحقق شرط ما ارتبط مع شرط اخر داخل هذا الشرط ليقوم بالتحقق منه .

Nested if

if (condition) {

      if (Nested condition) {
         //يتنفذ عندما يتحقق الشرط الداخلي
      }else{
          //يتنفذ عندما لا يتحقق الشرط الداخلي
       }

}else{
  //يتنفذ عندما لا يتحقق الشرط الرئيسي
}

مثال

int grade;
Console.Write(“Enter Degree :”);
grade = Convert.ToInt32(Console.ReadLine());

if(grade>=50)
{
   Console.Write(“ناجح”);
}
else
{

    if(grade>=45)
    {
       Console.Write(“ناجح بقرار”);
    }
    else
    {
       Console.Write(“راسب”);
    }

}

Output2 :
Enter Degree : 52
ناجح

Output :
Enter Degree : 48
ناجح بقرار

Output3 :
Enter Degree : 22
راسب

الجملة Switch في السي شارب

تستخدم عبارة التبديل switch لاختيار تنفيذ كتلة تعليمية من مجموعة كتل يعتمد الاختيار على محتوى القيمة المدخلة

Syntax

switch(expression) {
  case x:
    // code block
    break;
  case y:
    // code block
    break;
  default:
    // code block
    break;

}

خطوات العمل :

  1. يتم ادخال القيمة ضمن switch
  2. مقارنة القيمة مع كل الكتل التعليمية
  3. تنفيذ الكتلة التي تتطابق مع القيمة المدخلة وترك الباقي
  4. break and default كلمات مفتاحية اختيارية

مثال اول لمعرفة اسم اليوم في الاسبوع تطابقاً مع الرقم

int day = 4;

switch (day) {
case 1:
      Console.WriteLine(“Monday”);
      break;
case 2:
      Console.WriteLine(“Tuesday”);
      break;
case 3:
      Console.WriteLine(“Wednesday”);
      break;
case 4:
      Console.WriteLine(“Thursday”);
      break;
case 5:
      Console.WriteLine(“Friday”);
      break;
case 6:
      Console.WriteLine(“Saturday”);
      break;
case 7:
      Console.WriteLine(“Sunday”);
      break;
default:
      Console.WriteLine(“No Day”);
      break;

}

Output :
Thursday

break يقوم باخبار مترجم اللغة ان يتوقف عن مقارنة باقي شروط عندما تتطابق الكتلة الخاصة به , اي وكما في المثال السابق قمنا باعطاء الرقم 4 الى المتغير day وعندما يصل الى الكتلة التعليمية التي قيمتها 4 يقوم بتنفيذ هذه الكتلة والbreak الموجودة داخل هذه الكتلة تمنع استمرار switch من التحقق من باقي الكتل

default وهي شبيهة بelse في الشروط ,وتعني اذا لم يتم تطابق القيمة مع اي من الكتل التعليمية فيتم تنفيذ ما داخل الdefault , ولنفرض في المثال السابق لو قمنا باعطاء المتغير day قيمة 10 فهنا سينفذ ما داخل الdefault لان لا يوجد لدينا حالة تتطابق مع day =10

مثال ثاني كما في المثال السابق لكن هنا المستخدم يقوم بادخال رقم اليوم من شاشة التنفيذ

Console.Write(“Enter Day :”);
int day;
day = Convert.ToInt32(Console.ReadLine());

switch (day) {
case 1:
      Console.WriteLine(“Monday”);
      break;
case 2:
      Console.WriteLine(“Tuesday”);
      break;
case 3:
      Console.WriteLine(“Wednesday”);
      break;
case 4:
      Console.WriteLine(“Thursday”);
      break;
case 5:
      Console.WriteLine(“Friday”);
      break;
case 6:
      Console.WriteLine(“Saturday”);
      break;
case 7:
      Console.WriteLine(“Sunday”);
      break;
default:
      Console.WriteLine(“No Day”);
      break;

}

Output :
Enter Day :7
Sunday

Output :
Enter Day :3
Wednesday

Output :
Enter Day :9
No Day

تنزيل كتب تعلم السي شارب

فيما يلي كتب شرح سي شارب المتوفرة مجاناً باللغة العربية :-


سلسة تعلم سي شارب