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

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

تا کنون با خود مفهوم آرایه به حد مناسبی آشنا شده‌اید و تقریباً با نحوه استفاده از آن و کاربردهایش خو گرفتید. آرایه در واقع خانه‌هایی از حافظه هستند که در کنار یکدیگر چیده شده‌اند تا یک مقدار معینی را در خود ذخیره کنند.

اگر دقت کرده باشید، آرایه‌هایی که تا کنون برای شما توضیح دادیم، تنها یک سطر از خانه‌های حافظه بودند. اما ممکن هست شما سطر و ستونی را در حافظه بخواید؛ اینجاست که مبحث آرایه‌های چند بعدی مطرح خواهد شد.

  • آرایه‌های چندبعدی

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

int[] array = new int[5];

که در واقع، ۵ خانه از حافظه را به شکل سطری و پشت سر هم رزرو می‌کند. به جدول زیر نگاه کنید؛ متوجه سطری بودن یک آرایه می‌شوید؛ بدین شکل که در هر Position (محل) از حافظه که مختص این آرایه هست، مقداری ذخیره شده است.

1-multiTableA

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

2-multiTableB

برای اینکه یک آرایه دو بعدی در سی‌شارپ پیاده سازی کنیم، از دستور (Syntax) زیر استفاده می‌کنیم:

int [ , ] arrayTimes;

سپس بایستی آن را new کنید که برای مثال بدین شکل آن را new می‌کنیم:

arrayTimes = new int[5, 3];

به دو رقم ۵ و ۳ دقت کنید؛ رقتم اول، محل سطرها هست و رقم دوم، ستون‌های موجود برای هر یک سطر می‌باشد.

استفاده از یک آرایه دو بعدی، هر چند بعضی وقت‌ها واقعاً یک نیاز است، اما خوب،‌ از لحاظ بهینه بودن در بعضی مواقع دچار تردید خواهید شد؛ چرا که برای دسترسی به عناصر آن، می‌بایست از دو حلقه تو در تو استفاده کنید!

کدهای زیر را برای یک button تعریف کنید:

3-multi_arrays

و با اجرای فرم خود و کلیک بر روی Button، چنین چیزی را خواهید داشت:

4-multi_arrays_form

توجه کنید که مبحث آرایه‌های چند بعدی، تنها به دو بعد مختص نیست؛ شما می‌توانید به همین شکل، آرایه‌های سه بعدی (مکعبی) و بیشتر نیز ایجاد کنید!

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

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

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

  1. سلام آقا جعفر
    خیلی دمت گرم!
    خیلی دنبال یه آموزش خوب برای سی شارپ گشتم تا به سایت شما و آموزش های خوبتون رسیدم.الان چندروزه که دارم آموزش هاتون رو از جلسه اول دنبال می کنم.اما خب کم کم دارم به آخرشون میرسم:( شما مطلبی منبعی چیزی ندارین که بعد از اتمام جلسات شما بهشون رجوع کنم؟ آخه من خیلی سریع پیش میرم(فقط توی چند روز رسیدم به جلسه 30!!) و میخوام خیلی سریع به یه سطح خوب برسم
    پیشنهاد شما چیه؟

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

      خوشحالم که آموزش‌های من رضایت شما رو جلب کرد. ببینید برای اینکه خیلی زود پیشرفت کنید و به یک درجه‌ی نیمه‌حرفه‌ای برسید (درجه حرفه‌ای معمولاً در بازار کار و پس از سال‌های سال بدست میاد) باید کتاب، مقالات و فیلم‌های آموزشی ببینید. کتاب‌های انگلیسی که من شخصاً اون‌ها رو ترجیح می‌دم می‌تونه خیلی در پیشرفت شما موثر باشند. مثل کتاب‌های انتشارات O’Reilly و یا سری کتاب‌های For Dummies.

      موفق باشید!

  2. سلام آقای موسوی.
    بازم سپاس و تشکر به خاطر این بخش اموزشی
    یه سوال با این گام به گام جلو رفتن ها و یادگیری از مقدمات تا به اینجا.
    در اخرما میتونیم یه کدنویس خوب و بعدا هم حرفه ای در زمینه سی شارپ بشویم؟
    بنظرتون چطور میتونیم به سطح حرفه ای برسیم ؟
    ممنون میشم راهنمایی بفرمایید

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

      ممنونم بابت نظر لطفتون. آموزش‌هایی که من قرار می‌دم رو ایشالا اگر عمری برای من باقی موند و تا آخر پیش بردم، می‌تونید یک کدنویس شوید مبتدی و بعداً هم متوسط رو به پایین شوید. اما برای اینکه یک برنامه‌نویس متوسط رو به بالا و حرفه‌ای شوید نیازمند مراحل دیگه‌ای هست.
      معمولاً یک برنامه‌نویس متوسط و متوسط رو به بالا با خوندن مقالات اضافه، یادگیری مباحث حرفه‌ای تر، پیش رفتن با نسخه‌های جدید .NET Framework و … صورت می‌گیرد، اما مرحله‌ی حرفه‌ای رو معمولاً کسی می‌تونه تجربه کنه که بازار کارش برنامه‌نویسی باشه و اون هم پس از طی چندسال بدست میاد.
      نگران هیچ از موارد بالا نباشید؛ خود من هم بالاخره از یک مرحله‌ای شروع کردم که حتی تعریف یک متغیر هم بلد نبودم! پس جای هیچ نگرانی‌ای نیست. آموزش‌های من اگر تمام شوند، قطعاً یک پست جداگانه‌ای در رابطه با این مطلب و چگونگی مطالعه قرار خواهم داد.

      موفق باشید!

    2. ممنون از راهنمایی تون….
      منتظر پست های بعدی شما هستیم

  3. سلام آقای موسوی
    بنده یه پروژه برداشتم و توی متلب نوشتمش.الان موقع تسویه حساب رسیده.میخوام مبلغ دستمزدم رو پیشنهاد بدم.توصیف پروژه رو مینویسم شما بفرمایین چقد ازشون بگیرم:
    یه برنامه برای پروژه کارشناسی ارشد یا دکتراس(نه اینکه کار کسیو من انجام بدم،توی یه قسمت مهمی از پروژشون مشخصا به یه برنامه نویس نیاز دارن،پس کاملا حلاله!!!)، یکسری دیتاهای مربوط به EMG رو دریافت میکنه ،یکسری عملیات ریاضی و آماری انجام میده و نمودار دیتا رو رسم میکنه و پارامترهای مشخصی رو اعلام میکنه
    همچنین Open Dialogbox و… رو هم داره که بتونی فایل دیتارو توش لود کنی ،اگر فایله استاندارد نبود اعلام میکنه و خلاصه برای هر شرایط خاصی پیشبینی شده ،منو بندی داره، امکان ذخیره تمامی پارامترها و نمودارها بصورت عکس و متن هم بهش اضافه کردم
    خیلی عالی شده
    بنظرتون چقد ازشون بگیرم؟(لطفا بگین ، چون من اولین پروژمه برام مهمه)

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

      سوال شما خارج از حیطه‌ی بحث آموزشی ما می‌باشد؛ از طرفی هم بنده با نرم‌افزار Matlab در حد خیلی خیلی کم و مختصر آشنایی دارم و تا حالا با این نرم‌افزار برنامه‌نویسی‌ای نکردم، لذا نیز از مبالغی که برای آن باید دریافت شود اطلاعی ندارم.
      برنامه‌نویسی کاری است که اگرچه می‌بایست مبلغی براساس استاندارها دریافت شود، اما تا حد قابل توجهی نیز می‌تواند توسط برنامه‌نویس بالا-پایین شود.
      چیزی که من به ذهنم می‌رسه که معقول باشه، مبلغی کمتر از ۵۰۰ تا ۷۰۰ تومان نخواهد بود. اما جهت اطمینان نیز حتماً پرس‌و‌جوهای خودتان را انجام دهید تا ضرر نبینید.
      موفق باشید!

  4. سلام دوست عزیز من تازه میخوام آموزش C# رو شروع کنم میخواستم ببینم آیا امکانش هست که کل آموزش هاتون رو در یک فایل زیپ قرار بدید تا یک جا دانلودشون کنیم؟

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