اینجا میتونی برنامه نویسی ویندوز رو به طور کاملا رایگان یاد بگیری
2 سال پیش / خواندن دقیقه

دستور switch در زبان برنامه نویسی سی شارپ

زبان برنامه نویسی سی شارپ شامل دستور تصمیم‌گیری دیگری است که switch نامیده می شود. در این فصل با دستور تصمیم گیری switch آشنا خواهیم شد.

دستور switch

زبان برنامه نویسی سی شارپ شامل دستور تصمیم‌گیری دیگری است که switch نامیده می شود. دستور switch کدهای موجود در بدنه خود را بسته به مقداری که از یک عبارت برگشت داده می‌شود اجرا می‌کند.

قاعده نوشتاری دستور switch به شکلی است که در زیر آمده است :

switch(expression)
{    case <value1>        // code block    break;    case <value2>        // code block    break;    case <valueN>        // code block    break;    default         // code block    break;
}

همانطور که در قاعده ی نوشتاری بالا مشاهده می کنید دستور switch شامل یک عبارت در داخل یک پرانتز است. این دستور همچنین شامل چندین برچسب case است که هر کدام از case ها شامل یک مقدار در کنار خود است. دستور switch همچنین دارای کلمات رزرو شده ی break است که اجرای case موردنظر را خاتمه می دهد. دستور switch شامل قسمت دیگری به نام defult نیز است که در صورتی که هیچ کدام از case ها اجرا نشود این قسمت اجرا خواهد شد.

نکته : مقادیری که در کنار case ها قرار می گیرند باید منحصر به فرد باشند. این مقادیر می توانند از نوع bool ،  char ،  string ، integer ، enum و یا مقادیر null پذیر باشند.

 

در زیر نمونه مثالی ساده از دستور switch آورده شده است :

using System;
                    
public class Program
{
    public static void Main()
    {
        int x = 10;
         switch (x)
        {             case 5:
                Console.WriteLine("Value of x is 5");
                break;
            case 10:
                Console.WriteLine("Value of x is 10");
                break;
            case 15:
                Console.WriteLine("Value of x is 15");
                break;
            default:
                Console.WriteLine("Unknown value");
                break;
        }
    }
}

خروجی نمونه مثال بالا به شکل زیر است :

Value of x is 10

عبارت دستور switch می‌تواند یک متغیر با هر داده نوعی اعم از char ، enum ، int ، bool ، string و ...  باشد.

using System;
                    
public class Program
{
    public static void Main()
    {
        string statementType = "switch";
         switch (statementType)
        {
            case "if.else":
                Console.WriteLine("if...else statement");
                break;
            case "ternary":
                Console.WriteLine("Ternary operator");
                break;
            case "switch":
                Console.WriteLine("switch statement");
                break;
        }
    }
}

خروجی نمونه مثال بالا به شکل زیر است :

switch statement

کلمه ی goto در دستور switch

در دستور switch می توان از کلمه رزرو شده goto برای پرش از بین case های مختلف استفاده کرد.

using System;
                    
public class Program
{
    public static void Main()
    {
        string statementType = "switch";
         switch (statementType)
        {
            case "DecisionMaking":
                Console.Write(" is a decision making statement.");
                break;
            case "if.else":
                Console.Write("if-else");
                break;
            case "ternary":
                Console.Write("Ternary operator");
                break;
            case "switch":
                Console.Write("switch statement");
                goto case "DecisionMaking";
        }
    }
}

خروجی نمونه مثال بالا به شکل زیر است :

switch statement is a decision making statement.

دستورات switch تو در تو

در زبان برنامه نویسی سی شارپ میتوان دستورات switch را به صورت تو در تو استفاده کرد. نمونه مثال زیر دستورات switch تودرتو را به خوبی نشان می‌دهد.

using System;
                    
public class Program
{
    public static void Main()
    {
        int j = 5;
         switch (j)
        {
            case 5:
                Console.WriteLine(5);
                switch (j - 1)
                {
                    case 4:
                        Console.WriteLine(4);
                        switch (j - 2)
                        {
                            case 3:
                                Console.WriteLine(3);
                                break;
                        }
                        break;
                }
                break;
            case 10:
                Console.WriteLine(10);
                break;
            case 15:
                Console.WriteLine(15);
                break;
            default:
                Console.WriteLine(100);
                break;
        }
    }
}

خروجی نمونه مثال بالا به شکل زیر است :

5 4
3

به خاطر داشته باشید که :

  • دستور switch مقدار یک متغیر را با مجموعه ای از مقادیر ثابت مقایسه می‌کند.
  • یک دستور switch می تواند شامل چندین برچسب case باشد.
  • از break برای توقف اجرای دستورات در داخل switch استفاده میشود.
  • در صورتی که دستورات هیچکدام از case ها اجرا نشود قسمت defult اجرا خواهد شد
  •  در زبان سی شارپ دستور switch را می توان به صورت تو در تو به کار برد



شاید از نوشته‌های زیر خوشتان بیاید
نظر خود را درباره این پست بنویسید ...

منوی سریع