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 برای خروج از حلقه 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
while
حلقه while که در ادامه آمده را می توانیم برای فهم بهتر به این صورت بیان کنیم ، " تا هنگامی که n از 10 کوچکتر است ابتدا آن را در خروجی نمایش بده سپس یک عدد به آن اضافه کن ."
using System;
class MainClass
{
public static void Main()
{
int n = 0;
while (n < 10)
{
Console.WriteLine("Number is {0}", n);
n++;
}
}
}خروجی برنامه :
Number is 0 Number is 1 Number is 2 Number is 3 Number is 4 Number is 5 Number is 6 Number is 7 Number is 8 Number is 9
Foreach
شکل دیگری از حلقه در سی شارپ foreach می باشد .در مثال پائین برای ساخت و استفاده از این نوع حلقه لازم بود تا از کلید واژه in و حلقه for نیز استفاده کنیم.
using System;
class MainClass {
public static void Main() {
int sum = 0;
int[] nums = new int[10];
for(int i = 0; i < 10; i++)
nums[i] = i;
Console.WriteLine("use foreach loop.");
foreach(int x in nums) {
Console.WriteLine("Value is: " + x);
sum += x;
}
Console.WriteLine("Summation: " + sum);
}
}در خط چهارم و پنجم متغیرsum و آرایه ای به نام nums معرفی شده اند.
در خطوط ششم و هفتم توسط یک حلقه تمام اعضاء آرایه nums مقدار دهی شده اند .
خط هشتم در طول اجرای برنامه فقط یک بار اجرا شده و متن داخل پرانتز را چاپ می کند .
در خط نهم حلقه مورد نظر ما شروع می شود در این حلقه با بکار بردن از کلید واژه in و بررسی تک تک اعضاء آرایه تمام آنها را یکی یکی نمایش داده و سپس مجموع آنها را در متغیر sum ذخیره می کند تا در پایان حلقه و در خط دوازدهم فقط یک بار در پایان برنامه نمایش دهد . خروجی برنامه که در کنسول نمایش داده می شود:
use foreach to display and sum the values Value is: 0 Value is: 1 Value is: 2 Value is: 3 Value is: 4 Value is: 5 Value is: 6 Value is: 7 Value is: 8 Value is: 9 Summation: 45