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
For
در صورتی که بخواهیم یک دستور را در برنامه چندین بار تکرار کنیم باید از یک حلقه استفاده کنیم یکی از این نوع حلقه ها که مورد استفاده قرار می گیرد ، حلقه ای است به نام For که به شکل زیر ساخته شده و دستور داخل آن به تعداد دلخواه اجرا می شود . کد زیر یک برنامه کامل است که در آن متغیر count از صفر شروع شده و تا موقعی که کوچکتر از 5 است به ترتیب درون خروج چاپ یا نمایش داده می شود. براحتی می توان پیش بینی کرد که خروجی این برنامه ابتدا اعداد صفر تا چهار بوده ( زیرا count نمی تواند از 5 بزرگتر و یا حتی برابر 5 باشد ) و سپس در خط پایان کلمه ( ! Done ) نوشته می شود .
using System; class MainClass
{ public static void Main()
{ int count; for(count = 0; count < 5; count = count+1) Console.WriteLine("This is count: " + count); Console.WriteLine("Done!"); } }
using System; namespace Loops { class Program { static void Main(string[] args) { /* for loop execution */ for (int a = 10; a < 20; a = a + 1) { Console.WriteLine("value of a: {0}", a); } Console.ReadLine(); } } }
خروجی برنامه پس از اجرا بشکل زیر می باشد
switch
اینstatement که می تواند درون خود انواعی از دیتا تایپ عددی ، enum ، Bool ، int ، char ، و string را بپذیرد ، بشکل زیر عمل می کند که با گرفتن ورودی به ترتیب آن را با هرکدام از case ها مقایسه کرده و در صورت تطابق همان دستور اجرا شده و برنامه با رسیدن به اولین کلمه break شکسته شده و به پایان می رسد . عبارت default که در پایان آمده اختیاری است و می توانید درون آن وظیفه ای را بنویسید تا در صورتی که ورودی با هیچ موردی تطابق نداشت آن دستور اجرا شود . در صورتی که default را ننویسید برنامه مشکلی نخواهد داشت و فقط در صورت عدم صحت تمام موارد ، در پایان ، برنامه هیچ کاری انجام نداده و به پایان می رسد .
switch(expression) { case constant1: statement sequence break; case constant2: statement sequence break; case constant3: statement sequence break; . . . default: statement sequence break; }