با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش #c ، را دنبال می کنند. در بخش قبل با حلقه while در زبان #C آشنا شدید . در این قسمت با شکل دیگر از حلقه while به نام حلقه تکرار do while در زبان #C و حلقه do while تودرتو در سی شارپ آشنا خواهیم شد.
حلقه do-while همان حلقه while است، فرق آن با while در اینست که بلوک کد حداقل یک بار در حلقه do while اجرا می شود زیرا این نوع حلقه ابتدا کد بلوک را اجرا کرده و سپس شرایط را بررسی می کند.
شکل کلی حلقه do while به صورت زیر است :
1 2 3 4 5 6 | do { //execute code block } while(boolean expression); |
همانطور که در بالا مشاهده می کنید ، در این نوع حلقه ابتدا دستورات بدنه do اجراء شده سپس شرط بررسی شده ، اگر درست باشد حلقه مجددا تکرار می شود.
1 2 3 4 5 6 7 8 9 | int i = 0; do { Console.WriteLine("Value of i: {0}", i); i++; } while (i < 10); |
خروجی :
1 2 3 4 5 6 7 8 9 10 | Value of i: 0 Value of i: 1 Value of i: 2 Value of i: 3 Value of i: 4 Value of i: 5 Value of i: 6 Value of i: 7 Value of i: 8 Value of i: 9 |
درست همانند حلقه های for و while در این حلقه هم می توانید توسط کلمه کلیدی break از حلقه خارج شوید.
1 2 3 4 5 6 7 8 9 10 11 12 | int i = 0; do { Console.WriteLine("Value of i: {0}", i); i++; if (i > 5) break; } while (true); |
خروجی :
1 2 3 4 5 6 | Value of i: 0 Value of i: 1 Value of i: 2 Value of i: 3 Value of i: 4 Value of i: 5 |
میتوان از حلقه do while به صورت تودرتو نیز استفاده کرد مانند مثال زیر :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | int i = 0; do { Console.WriteLine("Value of i: {0}", i); int j = i; i++; do { Console.WriteLine("Value of j: {0}", j); j++; } while (j < 2); } while (i < 2); |
خروجی :
1 2 3 4 5 | Value of i: 0 Value of j: 0 Value of j: 1 Value of i: 1 Value of j: 1 |
چند نکته مهم :
در این قسمت با حلقه تکرار do while ، ساختار و فرق آن با حلقه while در زبان #C آشنا شدید.
در قسمت بعد ساختار ها (struct) در زبان #C را معرفی کرده و آن را شرح می دهیم.