Goto
این دستور خط فرمان را برای اجرای برنامه به نقطه ای دلخواه برنامه نویس هدایت می کند مثلا در کد زیر برنامه به گونه ای از دستور goto استفاده برده که در یک switch پس از انتخاب case مناسب و اجرای دستور داخل هر case برنامه با دستور goto به نقطه ای دیگر هدایت شده تا از آنجا برنامه را ادامه دهد. ترکیب حلقه for و استفاده از switch و goto به شکل مناسب می تواند قابلیت های بسیار خاصی را برای ما ایجاد کند.
using System; class SwitchGoto { public static void Main() { for(int i=1; i < 5; i++) { switch(i) { case 1: Console.WriteLine("In case 1"); goto case 3; case 2: Console.WriteLine("In case 2"); goto case 1; case 3: Console.WriteLine("In case 3"); goto default; default: Console.WriteLine("In default"); break; } Console.WriteLine(); } } }
output
In case 1 In case 3 In default In case 2 In case 1 In case 3 In default In case 3 In default In default
continue
باعث می شود تا در صورت برقرار بودن شرط حلقه شکسته شده و از نقطه بعدی ادامه یابد مثلا در مثال پایین اگر باقیمانده تقسیم i بر 2 مخالف صفر باشد شرط برقرار است و دستور continue از اجرای متد writeline جلوگیری می کند و برنامه را به ادامه حلقه for هدایت می کند. یعنی در واقع این کد تمام اعداد زوج بین صفر تا صد را در خروجی نمایش می دهد. زیرا باقیمانده اعداد زوج بر عدد 2 برابر صفر بوده و شرط برقرار نمی باشد و حلقه for دستور continue را نادیده گرفته و متد writeline اجرا شده و i را که در آن لحظه عددی زوج است را نمایش می دهد.
using System; class MainClass { public static void Main() { // print even numbers between 0 and 100 for(int i = 0; i <= 100; i++) { if((i%2) != 0) continue; // iterate Console.WriteLine(i); } } }
break
break برای خروج از حلقه for بکار می رود، قبل از آنکه حلقه به اتمام رسیده باشد . در مثال پایین قبل از اینکه حلقه بتواند اعداد مثبت 1 تا 10 را نیز نمایش دهد دستور break باعث خروج از برنامه می شود.
using System; class MainClass
{ public static void Main()
{ // use break to exit this loop for(int i=-10; i <= 10; i++)
{ //terminate loop when i is positive
if(i > 0) break; Console.Write(i + " "); } Console.WriteLine("Done"); } }
****************************************
Output:-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 Done
do ........ while loop
که در واقع شامل دو تیکه مجزای do و while می باشد در بخش do کاری انجام می شود و سپس بررسی می شود که آیا هنوز شرط برقرار است یا نه یعنی در واقع این حلقه حداقل یک خروجی نمایش می دهد و آن هم مقدار اولیه n می باشد.
using System; class MainClass { public static void Main() { int n = 0; do { Console.WriteLine("Number is {0}", n); n++; }
while (n < 10); } }
----------------------خروجی برنامه پس از اجرا-----------------
value of a: 10 value of a: 11 value of a: 12 value of a: 13 value of a: 14 value of a: 15 value of a: 16 value of a: 17 value of a: 18 value of a: 19