در سی‌شارپ، هر حلقه‌ای را که استفاده می‌کنید، معمولاً یک کار مشابهی را انجام می‌دهند و تفاوت آنچنانی‌ای میان آ‌ن‌ها وجود ندارد تا شرطی را خواهند داشت که تا زمان برقراری آن شرط (صحیح بودن آن برقرار باشد)، حلقه کدهای درون خود را اجرا خواهد کرد
زمانی که برنامه اجرا می شود هیچ چیز از حلقه ی while اجرا نمی شود، زیرا هنگامی که شرط در ابتدای امر بررسی می شود، به علت غلط بودن آن، compiler هیچگاه به اجرای دستور نمی رسد. در برخی موارد ممکن است لازم شود دستوری را پیش از بررسی شرط آن برای اولین بار، اجرا کنید. برای این منظور دستور do...while را به کار ببرید. فرمول آن به شرح زیر است
دستور while یکی از دستورهای پایه و اصلی برای ایجاد ساختارهای تکرار شرطی در زبان سی شارپ است. به کمک این دستور می توانید حلقه های تکرار بر پایه یک شرط ایجاد کنید. برای این منظور مراحل زیر را به ترتیب انجام دهید


در بعضی مواقع یک حلقه while هدف شما را برآورد نمیکند. در موقعیتهای خاصی ممکن است بخواهید مفهوم while را معکوس کنید. عبارت " اجرا کن تا زمانی که شرط برقرار است" با " تا زمانی که شرط برقرار است اجرا کن" کاملاً متفاوت است. کد اولی مفهوم while… do را و دومی مفهوم while را میرساند. به عبارت دیگر حلقه while do ابتدا کاری را انجام داده، سپس شرط را بررسی میکند. این نوع حلقه، حداقل یک بار اجرا خواهد شد. دات وایت
برای اینکه مطمئن شوید ابتدا عمل انجام شده، سپس شرط تست میشود حلقه while… do را بکار برید. گرامر بدین صورت است که ابتدا کلمه کلیدی do نوشته میشود و به دنبال آن دستور یا دستورات بدنه حلقه نوشته میشود. بعد از دستورات بدنه کلمه کلیدی while نوشته میشود و شرط به دنبال آن در داخل پرانتزها مشخص میشود و بعد از شرط یک سمی کالن (;) قرار میگیرد. 

مثال 

 int table, i, r;
            table = 9;
            i = 1;
            do
            {
               
                r = table * i;
                Console.WriteLine("{0}*{1}={2}",table,i,r);
                i++;
               

            } while (i<=10);
            Console.ReadKey();

نتیجه به شکل زیر است

9*1=9
9*2=18
9*3=27
9*4=36
9*5=45
9*6=54
9*7=63
9*8=72
9*9=81
9*10=90

مثال دوم


int number = 0;

            while (number < 200)
            {
                Console.WriteLine(number);
                number = number + 1;
            }

            Console.ReadLine();

نتیجه 

0
1
2
3
4
5
.
.
.
.
199

استفاده از حلقه تکرار for
این یه مثال ساده هست با استفاده از حلقه های تو در تو
دو تا متغییر که مقدار انها برابر1 و 10 هست و انها رو داخل حلقه تکرار میذاریم و تا زمانیکه متغییر اول با متغیر دوم برابر نشده این حلقه شکسته نخواهدشد
            

              

 for (int i = 1; i <= 10; i++)

                for (int j = 1; j <= 10; j++)


                {

                    Console.Write((i * j) + "\t");

                }

                       Console.ReadKey();

نتیجه رو ببینید
1       2       3       4       5       6       7       8       9       10
2       4       6       8       10      12      14      16      18      20
3       6       9       12      15      18      21      24      27      30
4       8       12      16      20      24      28      32      36      40
5       10      15      20      25      30      35      40      45      50
6       12      18      24      30      36      42      48      54      60
7       14      21      28      35      42      49      56      63      70
8       16      24      32      40      48      56      64      72      80
9       18      27      36      45      54      63      72      81      90
10      20      30      40      50      60      70      80      90      100

ا