آموزش سی‌شارپ C# – بخش ۲۰

آموزش سی‌شارپ C# – بخش ۲۰
  • ۱۳۹۱/۱۲/۰۳
  • Jeff Mosawy
  • 9
  • مقدمه

در قسمت اول آموزش حلقه‌ها در زبان سی‌شارپ، ما مقدار شروع و پایان یک حلقه را توسط خودمان در کدها مشخص کردیم و در هنگام اجرای برنامه، این مقدار ثابت بود و تغییری نمی‌کرد. اما ما می‌توانیم که این مقدار را از کاربر توسط یک شیء (مثلاً یک Text Box) دریافت کرده مقدار شروع و پایان را در حین اجرای برنامه تعیین کنیم.

  • تعیین شروع و پایان یک حلقه توسط کاربر

یک پروژه جدید از نوع Windows Application بسازید و سپس دو عدد Text Box را در درون فرم خود قرار دهید. همچنین دو Label و یک Button را اضافه کنید. اولین Label را Loop Start نامگذاری کرده؛ دومی را Loop End. فرم شما شکلی شبیه به شکل زیر را داشته باشد.

1-loopForm

کاری که قرار است انجام دهیم، گرفتن مقدار شروع و پایان حلقه‌ها هستند. پس بر روی Button خود دابل-کلیک کرده و پس از ورود به بخش کدها، سه متغیر از نوع int به شکل زیر تعریف کنید:

int loopStart;

int loopEnd;

int answer = 0;

اکنون، مقادیری که توسط Text Box ها دریافت می‌شود را در داخل این دو متغیر ذخیره می‌کنیم.

loopStart = int.Parse(textBox1.Text);

loopEnd = int.Parse(textBox2.Text);

حالا که ما رقم‌های وارد شده در Text Box ها را داریم، می‌توانیم از آن‌ها در حلقه استفاده کنیم. یک حلقه For به شکل زیر ایجاد می‌کنیم:

for (int i = loopStart; i < loopEnd; i++)

{

            answer = answer + i;

}

حال می‌توانید که پاسخ این محاسبه را توسط مثلاً یک MessageBox در button نمایش دهید؛ که این کار را بر عهده شما قرار خواهم داد.

  • ساخت یک جدول ضرب ساده توسط حلقه For

اکنون که ما استفاده از حلقه‌ها را فرا گرفتیم، می‌توانیم یک پروژه‌ی کوچکی را شروع کنیم؛ آن ‌هم جدول ضرب (یا اصطلاح انگلیسی آن Times Table).

ما توسط فرمی که در بالا ساختیم، از کاربر خواهیم خواست که یک مقداری را برای شروع و مقداری را برای پایان برای برنامه تعیین کند، آنگاه ما مقادیر ضرایب ۱۰ را در این عدد به کاربر نشان خواهیم داد. چیزی شبیه به جدول زیر خواهیم داشت:

۱ times 10 = 10
2 times 10 = 20
3 times 10 = 30
4 times 10 = 40
5 times 10 = 50

دقت کنید که در انگلیسی به ضرب، Times می‌گویند. مثلاً ۱ Times 10، یعنی ۱ ضربدر ۱۰.

به‌جای استفاده از یک MessageBox، اینبار از یک List Box استفاده خواهیم کرد. پس به Tool Box مراجعه کنید و یک ListBox اضافه کنید.

2-toolbox_ListBox

فرم شما شکلی شبیه به زیر را خواهد داشت:

3-listbox_form

بر روی button دابل-کلیک کنید تا مجدداً وارد بخش کدها شوید. برای اضافه کردن یک item به این List Box، می‌توانیم از کد زیر استفاده کنیم:

listBox1.Items.Add(answer.ToString());

پس اولین کار، نوشتن نام شیء هست. سپس یک نقطه قرار می‌دهیم که IntelliSense ظاهر شود؛ Items را انتخاب می‌کنیم (یا می‌نویسیم)؛ و در انتها، از متد Add برای اضافه کردن آیتم استفاده می‌کنیم. پس کد بالا را در حلقه اضافه کنید. یعنی:

for (int i = loopStart; i <= loopEnd; i++)

{

            answer = answer + i;

            listBox1.Items.Add(answer.ToString());

}

شما می‌توانید که Message Boxای را که از قبل برای نمایش محتوا از آن استفاده کرده بودید را حذف کنید. برنامه‌ی خودتان را اجرا کنید و در loopStart بنوسید ۱ و در loopEnd بنویسید ۵؛‌ بر روی button کلیک کنید، نتیجه را در listBox مشاهده کنید.

برای اینکه نتیجه کارمان را کمی واضح تر کنیم، کد مربوط به List Box را به شکل زیر تغییر دهید:

listBox1.Items.Add(“answer = “ + answer.ToString());

برنامه‌تان را اجرا کنید؛ خواهید دید:

4-listbox_form3

برای اینکه باز هم نتیجه کارمان را قابل فهم‌تر کنیم، اول از همه یک نوع متغیر برای تعیین مقدار ضریب تعریف می‌کنیم:

int multipyBy = 10;

الان باید کدهای مربوط به List Box را به شکل زیر تغییر دهیم:

answer = multiplyBy * i;

listBox1.Items.Add(i + ” times ” + multiplyBy + ” = ” + answer.ToString());

برنامه را اجرا کنید … خواهید دید:

5-form_Times_Table

تمرین: اینبار فرم خودتان را به‌شکل زیر درآورده و سعی کنید که مقدار ضریب نیز توسط خود کاربر تعیین شود:

6-form_Times_Table2

1-loopForm

نکته: برای پاک کردن List View توسط کدهای سی‌شارپ، از کد زیر استفاده می‌کنیم:

listBox1.Items.Clear();

جهت دریافت این بخش آموزشی به‌صورت یک فایل PDF، اینجا را کلیک کنید.

دیدگاه خود را وارد کنید
تعداد دیدگاه ها : 9 دیدگاه
    1. با سلام،

      قسمت دوم مبحث حلقه‌ها، همین بخش ۲۰‌ام هست! بخش ۲۱ از آموزش سی‌شارپ حاوی قسمت سوم مربوط به مبحث حلقه‌ها خواهد بود.

      موفق باشید!

  1. سلام آقای موسوی عزیز .

    من آموزش های شما را در سایت و انجمن مشهدیا با ذکر نام و آدرس پروفایل شخصی شما ( https://www.gooyait.com/author/jmosawy ) قرار داده ام برای استفاده ی مخاطبان سایت مشهدیا .

    امیدوارم راضی باشی عزیز دل .

    1. سلام دوست عزیزم،

      من از لطف شما خیلی خیلی ممنونم! تشکر می کنم از اینکه به بنده اطلاع دادید. شما لینک سایت گویا آی تی رو تنها بزارید (https://www.gooyait.com/) کافی هست.

      موفق باشید!

  2. چرا قسمتهای آموزشی را به صورت دیمی و بی سلیقه و نامنظم قزار داده اید؟ ضمن آنکه همه قسمتها هم قرار ندارند.

    1. با سلام،

      آموزش سی‌شارپ تا قسمت ۵۰ام بیشتر منتشر نشده؛ بخش‌های آموزشی نیز درصورت دسترسی از طریق منوی بالای سایت، بصورت منظم برای لیست خواهد شد.
      موفق و مؤید باشید

  3. سلام ممنون بابت زحماتی که کشیدین
    من تا اینجاش اومدم ولی دیگه گیر کردم اصلا متوجه نمیشم چی گفتین

    اگه کد سورس رو هم قرار میدادین بهتر بود

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *