در این مقاله از سری مقالات آموزشی پی استور به بررسی انواع دستور پرش در سی شارپ پرداخته خواهد شد. هر یک از این دستورات کاربردهای خاص خود را دارند و به درک بهتر ساختار و کنترل برنامه کمک میکنند.
در زبان برنامهنویسی سی شارپ #C، مدیریت جریان اجرای برنامه اهمیت زیادی دارد. یکی از ابزارهای مهم برای انجام این کار، دستورات پرش هستند که به برنامهنویس این امکان را میدهند که کنترل برنامه را از یک نقطه به نقطه دیگر منتقل کنند. این دستورات میتوانند برای خاتمه دادن به حلقهها، ادامه دادن به تکرارهای بعدی، یا حتی پرش به بخشهای خاصی از برنامه استفاده شوند.
انواع دستور پرش در سی شارپ
در زبان برنامه نویسی #C، دستورات پرش برای انتقال کنترل از یک نقطه به نقطه دیگر در برنامه به دلیل کد مشخصی که در حین اجرای برنامه اجرا میشود، استفاده میشوند. پنج کلمه کلیدی در دستورات پرش وجود دارد:
- دستور break
- دستور continue
- دستور goto
- دستور return
- دستور throw
دستور break در سی شارپ
دستور break در #C برای متوقف کردن یک حلقه یا بلوک دستوری که در آن قرار دارد، استفاده میشود. با اجرای این دستور، اجرای حلقه متوقف شده و برنامه به دستورات بعد از آن (در صورت وجود) منتقل میشود. اگر از این دستور در حلقههای تو در تو استفاده شود، تنها همان حلقهای که break در آن اجرا شده است متوقف میشود.
فلوچارت دستور break در سی شارپ
دستور break در سیشارپ به عنوان یک ابزار کنترل جریان استفاده میشود و معمولاً برای خروج از یک حلقه (for، while، یا do-while) یا یک بلوک switch به کار میرود. فلوچارت دستور break به صورت زیر است:
برای آموزش برنامه سی شارپ می توانید از دوره آموزشی ما استفاده نمایید:
مثال برای دستور break در سی شارپ
کد زیر به زبان سیشارپ نوشته شده است و هدف آن نشان دادن نحوه عملکرد دستور break در یک حلقه for است.
// C# program to illustrate the // use of break statement using System; class PStore { // Main Method static public void Main() { // ProgramStore is printed only 2 times // because of break statement for (int i = 1; i < 4; i++) { if (i == 3) break; Console.WriteLine("ProgramStore"); } } }
خروجی
ProgramStore ProgramStore
توضیح: اگر دستور break در این کد وجود نداشت، عبارت ProgramStore برای مقدارهای i = 1، ۲، ۳ سه بار چاپ میشد.
دستور break باعث میشود که اجرای حلقه بلافاصله متوقف شده و ادامه دستورات پس از حلقه اجرا شوند.
دستور continue در سی شارپ
دستور continue برای عبور از ادامه اجرای حلقه در یک شرط در سیشارپ استفاده میشود. با اجرای این دستور، بخش باقیمانده از کد حلقه نادیده گرفته شده و کنترل به ابتدای حلقه بازمیگردد تا اجرای تکرار بعدی آغاز شود. به بیان ساده، continue اجازه میدهد که حلقه از آن نقطه به بعد ادامه پیدا نکند و مستقیماً به تکرار بعدی برود.
فلوچارت دستور continue در سی شارپ
فلوچارت برای دستور continue در #C نشاندهندهی نحوهی اجرای این دستور است. فلوچارت دستور continue در سی شارپ به صورت زیر است:
مثال دستور continue در سی شارپ
کد زیر به زبان سیشارپ نوشته شده و هدف آن نشان دادن نحوه استفاده از دستور continue در یک حلقه for است.
// C# program to illustrate the // use of continue statement using System; class PStore { // Main Method public static void Main() { // This will skip 4 to print for (int i = 1; i <= 10; i++) { // if the value of i becomes 4 then // it will skip 4 and send the // transfer to the for loop and // continue with 5 if (i == 4) continue; Console.WriteLine(i); } } }
خروجی
۱ ۲ ۳ ۵ ۶ ۷ ۸ ۹ ۱۰
توضیح: در این برنامه، زمانی که مقدار i برابر با ۴ است، دستور continue اجرا میشود و عدد ۴ چاپ نمیشود.
دستور goto در سی شارپ
دستور goto در #C برای انتقال مستقیم کنترل برنامه به یک برچسب مشخص استفاده میشود. برچسب، یک شناسه معتبر است که قبل از دستوری که باید به آن منتقل شود، قرار میگیرد. با اجرای goto، برنامه بدون اجرای دستورات بین دستور goto و برچسب، مستقیماً به آن نقطه میرود. استفاده از این دستور باید با دقت انجام شود، زیرا میتواند خوانایی و ساختار برنامه را پیچیده کند.
فلوچارت دستور goto در سی شارپ
دستور goto معمولاً برای انتقال کنترل برنامه به یک نقطه خاص استفاده میشود. فلوچارت دستور goto در سی شارپ به صورت زیر است:
مثال برای دستور goto در سی شارپ
تکه کد زیر به زبان سی شارپ نوشته شده است، در این مثال، استفاده از goto باعث میشود که کنترل از یک بخش از دستور switch به بخش دیگری منتقل شود.
// C# program to illustrate the // use of goto statement using System; class PStore { // Main Method static public void Main() { int number = 20; switch (number) { case 5: Console.WriteLine("case 5"); break; case 10: Console.WriteLine("case 10"); break; case 20: Console.WriteLine("case 20"); // goto statement transfer // the control to case 5 goto case 5; default: Console.WriteLine("No match found"); break; } } }
خروجی
case 20 case 5
توضیح: دستور goto به شما این امکان را میدهد که کنترل برنامه را از یک بخش به بخش دیگری در همان دستور منتقل کنید. در این برنامه از آن برای انتقال از case 20 به case 5 استفاده شده است.
دستور return در سی شارپ
دستور return در سیشارپ برای پایان دادن به اجرای یک متد و بازگرداندن کنترل به متد فراخوانیکننده استفاده میشود. این دستور میتواند یک مقدار اختیاری را بازگرداند، اما اگر متد از نوع void باشد (بدون مقدار بازگشتی)، میتوان از return بدون مقدار استفاده کرد یا آن را بهکلی حذف کرد. به طور خلاصه، return جریان اجرای برنامه را به متد فراخوان بازمیگرداند و در صورت نیاز، یک مقدار خروجی نیز ارسال میکند.
مثال برای دستور return در سی شارپ
کد زیر به زبان سیشارپ نوشته شده است و هدف آن نشان دادن نحوه استفاده از دستور return در یک تابع است.
// C# program to illustrate the // use of return statement using System; class PStore { // creating simple addition function static int Addition(int a) { // add two value and // return the result of addition int add = a + a; // using return statement return add; } // Main Method static public void Main() { int number = 4; // calling addition function int result = Addition(number); Console.WriteLine("The addition is {0}", result); } }
خروجی
The addition is 8
توضیح: دستور return در هر تابع برای بازگرداندن یک مقدار به فراخوانی تابع استفاده میشود.
در این کد، تابع Addition به عنوان یک تابع مقداردهی عمل میکند و نتیجه محاسبه خود را با استفاده از دستور return به فراخوانی بازمیگرداند.
دستور return میتواند به پایان تابع برسد و خروجی محاسبات در آن تابع را به دستورات بعدی در برنامه ارسال کند.
دستور throw در سی شارپ
دستور throw در سیشارپ برای پرتاب یک استثنا «Exception» بهصورت دستی استفاده میشود. این دستور معمولاً با کمک کلمه کلیدی new، یک شیء از یک کلاس استثنای معتبر (کلاسی که از کلاس پایه Exception ارثبری کرده باشد) ایجاد و آن را پرتاب میکند. از throw برای مدیریت و نشان دادن خطاهای خاص در برنامه استفاده میشود.
مثال برای دستور throw در سی شارپ
تکه کد زیر به زبان سیشارپ نوشته شده است و هدف آن نشان دادن نحوه استفاده از دستور throw برای ایجاد و پرتاب یک استثناء «Exception» است.
// C# Program to illustrate the use // of throw keyword using System; class PStore { // taking null in the string static string sub = null; // method to display subject name static void displaysubject(string sub1) { if (sub1 == null) throw new NullReferenceException("Exception Message"); } // Main Method static void Main(string[] args) { // using try catch block to // handle the Exception try { // calling the static method displaysubject(sub); } catch(Exception exp) { Console.WriteLine(exp.Message ); } } }
خروجی
Exception Message
توضیح: در این کد وقتی مقدار ورودی تابع displaysubject برابر با null باشد، این نشاندهنده خطای نامعتبر بودن ورودی است. به همین دلیل از دستور throw برای ایجاد یک استثناء از نوع NullReferenceException استفاده میشود تا این خطا به وضوح اعلام شود و در نهایت، بتوانیم این خطا را در برنامه مدیریت کنیم.
نتیجه گیری
در نتیجه، دستور پرش در سی شارپ ابزاری قدرتمند برای مدیریت جریان اجرای برنامه هستند که به برنامهنویسان امکان میدهند کنترل دقیقتری بر نحوه اجرای کد داشته باشند. با استفاده از دستورات break، continue، goto، return و throw، میتوان به راحتی از وضعیتهای خاصی که در هنگام اجرای برنامه پیش میآید، عبور کرد یا به بخشهای مختلف برنامه منتقل شد. این دستورات به ویژه در برنامههای پیچیده و با منطق خاص، مانند حلقهها، متدها و مدیریت استثناها، به کار میآیند. تسلط بر استفاده صحیح از این دستورات میتواند به بهبود کارایی و خوانایی برنامهها کمک کند و خطاهای احتمالی را کاهش دهد.