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

آموزش سی‌شارپ C# – بخش ۴۰
  • 1392/4/20
  • Jeff Mosawy
  • 11
  • مقدمه

تا به امروز که با حلقه‌ها آشنا شدید، متوجه شده‌اید که همیشه سایز آرایه‌ها را پیش از اجرای برنامه می‌بایست تعیین کنیم. اما خوب قطعاً چنین چیزی در بعضی موارد برای ما مشکل‌ساز خواهد بود.

در این بخش از آموزش شما فرا خواهید گرفت که چگونه ممکن است که پس از اجرای نرم‌افزار خود، سایز آرایه را تعیین کنید.

  • تعیین سایز آرایه پس از اجرا

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

int[] Array;

Array = new int[10];

و یا:

int[] Array = new int[10];

همانطور که در مقدمه برای شما آورده شد، مشکلی که ممکن است برای شما بوجود بیاید این است که باید پس از اجرای برنامه،‌ سایز آرایه تعیین شود.

ما بدین شکل عمل خواهیم کرد با اضافه کردن یک Text Box و Button، سایز مورد نظر کاربر را از طریق Text Box دریافت کنیم و پس از کلیک کردن بر روی button، سایز آرایه را تعیین کنیم.

از پروژه‌ای که از پیش داشتیم، فرمتان را به شکل زیر در آورید:

1-arrays_Size

همانطور که می‌بینید ما بصورت پیشفرض، مقدار ۵ را در Textbox وارد کردیم؛ شما می‌توانید هر مقداری را که مورد نیاز خودتان است، وارد نمایید!

بر روی Button خود دوبار کلیک کنید تا وارد بخش کدنویسی شوید. کدهای زیر را وارد کنید:

int aNumber = int.Parse(textBox1.Text);

int[] arraySize = new int[aNumber];

خط اول در کد مقدار وارد شده در TextBox را دریافت می‌کند و به عدد صحیح تبدیل کرده و در متغیر aNumber ذخیره می‌کنیم. سپس این مقدار را در خط بعدی به آرایه مورد نظر ما اعمال می‌کنیم.

حلقه زیر را نیز در ادامه کدهایتان قرا دهید تا مقدار دهی به آرایه مورد نظرتان انجام شود:

for (int i = 0; i != (arraySize.Length); i++)

{

            arraySize[i] = i+1;

            listBox1.Items.Add(arraySize[i]);

}

برنامه خود را مجدداً اجرا کنید و بر روی Button کلیک کنید؛ چنین چیزی را مشاهده خواهید کرد:

2-arrays_Size2

حال مقدار ۵ را حذف کنید و عدد دیگری را وارد کنید؛ خواهید دید که آرایه شما مقدار دهی جدیدی را خواهد داشت. یعنی در واقع در حالی که برنامه در حال اجراست (Run-Time) شما به آرایه خودتان سایزهای متفاوتی را منتسب می‌کنید.

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

دیدگاه خود را وارد کنید
تعداد دیدگاه ها : 11 دیدگاه
  1. سلام
    خیلی خوشحالم که آموزشاتون رو ادامه میدید بی مبالغه از اینجا با C# به طور عملی آشنا شدم و تصمیم به یادگیری گرفتم
    تا حالا هم به همه پیشنهاد کردم چون آموزشها خیلی روان و کارآمده
    یه مشکل دارم اینه که تو ویژوال وقتی یه کلیک درست و توش کدنویسی میکنم و بعدا بخوام اون کلیک رو پاک کنم نمیدونم چطور پاک میشه تو قسمت events (همون سلاح زئوس) وقتی ریست رو میزنم پاک نمیشه لطفا راهنمایی کنید
    ممنون

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

      ممنونم از نظر لطفتون.
      من دقیقاً متوجه منظور شما نشدم؛ آیا منظورتون این هست که وقتی شما یک button درست می‌کنید و در داخل Event مربوط به Click کدنویسی می‌کنید، می‌خواید اون تابع رو پاک کنید ولی امکان‌پذیر نیست؟ اگر ممکن هست بیشتر توضیح بفرمایید تا بتوانم بهتر راهنمایی کنم.
      موفق باشید!

  2. سلام دوباره
    ببخشید این سوال رو یادم رفت
    میخوام بدونم تفاوت byte که تو C# هست (تو ویژوال به رنگ آبی پررنگ) و Byte که تو دات نته(آبی کم رنگ) چیه و میشه بجای هم استفادشون کرد

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

      اگر به زبان ساده بخوام به شما بگویم این هست که byte، یک نام مستعاری هست (alias) برای System.Byte. درواقع این دو هیچ تفاوتی با هم ندارند، اگرچه پیشنهاد می‌شه شما از byte استفاده کنید، اما در به‌طور کلی (و نه به طور دقیق!) تفاوتی با هم ندارند.
      یک نکته‌ای که در استفاده از byte و System.Byte هست اینه که اگر شما بخواید از byte استفاده کنید، نیازی به اضافه کردن namespace مربوط به System نخواهید بود، اما اگر بخواید از Byte استفاده کنید، ابتدا باید namespace با نام System را در کدتان اضافه کنید و سپس از آن استفاده کنید.
      امیدوارم که توضیحات به اندازه کافی، مفید واقع شده باشد.
      موفق باشید!

  3. سلام آقای موسوی
    ممنون که جوابمو دادین
    در مورد سوال اول باید بگم مثلا یک Button درست کردم و داخلش مقداری کدنویسی هم انجام دادم حالا میخوام اون button رو پاک کنم ولی بقیه برنامه رو نیاز دارم فقط همون یه button رو پاک کنم

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

      خوب شما کافیه روی اون کلید راست کلیک کنید و Delete رو انتخاب کنید.
      موفق باشید!

  4. درسته ولی فقط تو قسمت دیزاین پاک میشه ولی کدهاش باقی میمونه
    تو یه آموزش دیدم گفته بود کدهارو delete نکنین بلکه تو قسمت properties تو تب event از اونجا پاکش کنید

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

      قرار داده شد. موفق باشید!

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