در این مثال، با استفاده از یک حلقه do-while، برنامه ابتدا از کاربر عدد را میگیرد و سپس شرط را بررسی میکند. اگر عدد منفی باشد، حلقه تکرار میشود.
برای تمرین بیشتر، چند نمونه سوال برای شما آماده کردهایم تا با استفاده از حلقه while آنها را حل کنید:
حلقه while یکی از ابزارهای پرکاربرد در برنامهنویسی است که به شما اجازه میدهد یک قطعه کد را تا زمانی که شرط خاصی برقرار باشد، تکرار کنید. در اینجا چندین سناریو مختلف برای استفاده از حلقه while در سی شارپ را معرفی میکنیم و برای هر کدام مثالی ارائه میدهیم.
do
{
Console.Write(“یک عدد مثبت وارد کنید: “);
number = Convert.ToInt32(Console.ReadLine());
}
while (number
در این مثال، برنامه از کاربر درخواست میکند تا یک عدد مثبت وارد کند و تا زمانی که عدد وارد شده منفی یا صفر باشد، این درخواست تکرار میشود.
- تکرار تا زمانی که کاربر خروجی مورد نظر را وارد کند
مثال: تکرار ورود رمز عبور تا زمانی که درست وارد شود
string password; do { Console.Write("رمز عبور خود را وارد کنید: "); password = Console.ReadLine(); } while (password != "1234"); Console.WriteLine("رمز عبور صحیح است!");
در این مثال، برنامه از کاربر رمز عبور میخواهد و تا زمانی که رمز عبور وارد شده درست نباشد، این درخواست تکرار میشود.
- خواندن دادهها از یک منبع تا زمانی که دادهای باقی مانده است
مثال: خواندن اعداد از فایل تا زمانی که پایان فایل نرسیده است
using (StreamReader sr = new StreamReader("numbers.txt")) { string line; while ((line = sr.ReadLine()) != null) { Console.WriteLine(line); } }
در این مثال، برنامه تا زمانی که خطوطی در فایل وجود داشته باشد، آنها را خوانده و چاپ میکند.
- اجرای عملیات تا زمانی که شرط پیچیدهای برقرار باشد
مثال: محاسبه تعداد ارقام یک عدد
int number = 12345; int count = 0; while (number != 0) { number /= 10; count++; } Console.WriteLine("تعداد ارقام: " + count);
در این مثال، برنامه تعداد ارقام یک عدد را محاسبه میکند. تا زمانی که عدد صفر نشده است، برنامه ادامه پیدا میکند و در هر تکرار یک رقم را حذف میکند.
- اجرای عملیات تا زمانی که کاربر تصمیم به خروج بگیرد
مثال: منوی تعاملی برای انجام عملیات مختلف
int choice; do { Console.WriteLine("1. گزینه اول"); Console.WriteLine("2. گزینه دوم"); Console.WriteLine("3. خروج"); Console.Write("انتخاب کنید: "); choice = Convert.ToInt32(Console.ReadLine()); switch (choice) { case 1: Console.WriteLine("گزینه اول انتخاب شد."); break; case 2: Console.WriteLine("گزینه دوم انتخاب شد."); break; case 3: Console.WriteLine("خروج..."); break; default: Console.WriteLine("انتخاب نامعتبر، دوباره تلاش کنید."); break; } } while (choice != 3);
در این مثال، برنامه یک منوی تعاملی را نمایش میدهد و تا زمانی که کاربر گزینه خروج را انتخاب نکند، منو را تکرار میکند.
- محاسبه مجموع یا میانگین اعداد تا زمانی که ورودی معتبر است
مثال: محاسبه مجموع اعداد وارد شده توسط کاربر
int sum = 0; int number; Console.WriteLine("برای خاتمه عدد صفر را وارد کنید."); while (true) { Console.Write("یک عدد وارد کنید: "); number = Convert.ToInt32(Console.ReadLine()); if (number == 0) break; sum += number; } Console.WriteLine("مجموع اعداد وارد شده: " + sum);
در این مثال، برنامه از کاربر اعداد مختلفی دریافت میکند و مجموع آنها را محاسبه میکند. زمانی که کاربر عدد صفر را وارد کند، حلقه خاتمه مییابد.
حلقه while در سی شارپ یکی از ابزارهای قدرتمند برای تکرار عملیات مختلف است. با استفاده از این حلقه میتوانید کد خود را سادهتر و کارآمدتر کنید. امیدوارم این مثالها به شما در درک بهتر کاربردهای حلقه while کمک کرده باشد.
پرسشهای متداول
توجه به چند پرسش و پاسخ زیر در رابطه با حلقه وایل در سی شارپ اهمیت زیادی دارد:
- حلقه while چه زمانی استفاده میشود؟ حلقه while زمانی استفاده میشود که بخواهید یک بلوک کد را تا زمانی که یک شرط خاص صحیح است، تکرار کنید.
- تفاوت حلقه while و for چیست؟ حلقه while زمانی مفید است که ندانید دقیقاً چند بار باید حلقه اجرا شود، در حالی که حلقه for معمولاً برای تکرارهای مشخص استفاده میشود.
- چگونه میتوان از حلقه بینهایت جلوگیری کرد؟ باید مطمئن شوید که شرط حلقه در نهایت نادرست میشود و متغیرهای مربوط به شرط را در داخل بدنه حلقه بهروز کنید.
- آیا حلقه while کارایی بیشتری نسبت به حلقه for دارد؟ در برخی موارد، به ویژه زمانی که تعداد تکرارها مشخص نیست، حلقه while ممکن است کارایی بهتری داشته باشد.
- چگونه میتوان با حلقه while ورودیهای کاربر را بررسی کرد؟ میتوانید از حلقه while برای درخواست ورودیهای معتبر از کاربر استفاده کنید و تا زمانی که ورودی معتبر نباشد، حلقه را تکرار کنید.
پیشنهاد مطالعه: آموزش LINQ در سی شارپ: همه چیزهایی که باید بدانید!
کلام پایانی
حلقه while یکی از ابزارهای قدرتمند در زبان برنامهنویسی سی شارپ است که به شما امکان میدهد کدهای خود را به صورت تکراری اجرا کنید. با استفاده از حلقه while در سی شارپ میتوانید برنامههای خود را بهینهتر و انعطافپذیرتر کنید. امیدوارم این آموزش به شما کمک کرده باشد تا بهتر با این حلقه آشنا شوید و بتوانید از آن در پروژههای خود استفاده کنید.
آیا شما هم به دنبال یادگیری برنامهنویسی سی شارپ هستید؟ میخواهید از صفر تا صد این زبان برنامهنویسی محبوب را یاد بگیرید و مهارتهای خود را ارتقا دهید؟ مکتب خونه دورههای جامع و کاربردی آموزش سی شارپ و آموزش برنامه نویسی را برای شما آماده کرده است!
این دورهها به شما کمک میکنند تا به صورت کاملاً عملی و پروژهمحور، مفاهیم پایه و پیشرفته سی شارپ را یاد بگیرید. از مبانی ابتدایی گرفته تا مباحث پیشرفته مثل حلقهها، توابع، شیءگرایی و … همه در این دورهها پوشش داده شدهاند. با شرکت در این دورهها، میتوانید برنامههای کاربردی بنویسید و وارد دنیای برنامهنویسی حرفهای شوید.
منبع