نسخه آزمایشی

collection ها در سی شارپ – جلسه اول
collection ها در سی شارپ – جلسه اول

Cshrarp_Collections(queu & Stack)

با سلام  و تبریک پیشاپیش به مناسبت بهار طبیعت و سال نو.امروز فصل جدیدی از سی شارپ را شروع می کنیم و آن هم فصل collection ها در سی شارپ است.قاعدتا فصول قبلی یعنی  Delegate ها در C# و Generic ها و  این فصل collection ها در سی شارپ از پیشنیازهای دوره ی آموزشی تکنولوژی Linq & Entity Framework می باشد.

ما در این فصل به بررسی کامل مباحث زیر می پردازیم:

  • صف و پشته(Queue & Stack)
  • لیست(List)
  • لیست های مرتب (SortedList)
  • دیکشنری(Dictionary)
  • Hashset ها
  •  لیست پیوندی(LinkedList)
  • و…..

دانلود رایگان فیلم آموزشی collection ها در سی شارپ – جلسه اول

حجم فایل دانلود:۲۸ مگابایت (نوع فایل:Zip)

مدت فیلم آموزشی:۳۱ دقیقه (زبان فارسی)

collection ها در سی شارپ

در این جلسه در مورد صف و پشته (queue & stack) صحبت خواهیم کرد.

صف:ساختمان داده ای است که در آن هر عنصری که زودتر وارد صف شده است زودتر هم خارج می شود به عبارتی اصطلاحا FIFO (First In First Out( گفته می شود.اگر عنصری به صف اضافه شود این عنصر حتما به انتها اضافه می شود و اگر عنصری از صف برداشته شود این عنصر حتما از ابتدای صف برداشته می شود.

صف یک جنریک کلاس است.با جنریک ها در فصل قبل آشنا شدیم.در کد زیر ساختار جنریک کلاس Queue را که توسط مایکروسافت تعریف شده است مشاهده می کنید.همانطور  مبین است این کلاس دارای سه constructor است.اولین سازنده ، سازنده پیشفرض است و دو نسخه سربارگذاری شده دیگر یکی پارامتر capacity (اندازه) می گیرید و دیگر یک پارامتر که جنریک اینترفیس  IEnumerable<T>  را پیاده سازی کرده باشد.

  •   property  این کلاس Count است که تعداد اعضای موجود در صف را بر می گرداند.

متد CopyTo این امکان را فراهم می کند که اعضای صف را به داخل یک ارایه کپی کنیم.

متد Dequeue یک عنصر از صف حذف می کند و بر می گرداند و طبق تعریف صف این عنصر از ابتدای صف هم حذف می شود.

متد Peek یک عنصر از ابتدای صف بر می گرداند و فرق آن متد Dequeue اینست که فقط عنصر ابتدای صف را بر می گرداند اما آنرا حذف نمی کند.

متد Enqueue یک عنصر به داخل صف اضافه می کند.

متد ToArray عناصر موجود در صف را به عنوان یک آرایه بازگشت می کند.

متد TrimExcess فضای خالی یک صف را حذف می کند.اما اگر تقریبا ۹۰ درصد صف پر شده باشد دیگر این کار را انجام نمی دهد.

جهت بهره گیری کامل از مباحث مربوط به صف به فیلم آموزشی مراجعه شود.

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

با توجه به تعریف جنریک کلاس Stack توسط مایکروسافت می توانیم ببنیم که دارای متد های Peek,Pop,Push می باشد.

متد Push این امکان را فراهم می کند که بتوانیم یک عنصر جدید به بالای پشته اضافه کنیم.

متد Pop این امکان را فراهم می کند که بتوانیم یک آیتم از بالای پشته حذف و بازگشت دهیم.

متد Peek این امکان را فراهم می کند که بتوانیم یک ایتم  بالای پشته را فقط بازگشت کنیم.فرق آن با Pop در این است که عنصر بالای پشته را حذف نمی کند.

جهت بهره گیری کامل به فیلم آموزشی مراجعه شود.

۷ نظر برای "collection ها در سی شارپ – جلسه اول"


  1. albert گفت:

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

    • سید عبدالله محمودزاده گفت:

      آموزش های ما از سطح خیلی مقدماتی تا متوسط و حرفه ای است.البته بعضی از جلسات ابتدایی ضبط نشده یا روی سایت قرار نگرفته ولی با این وجود برای کسی که سی شارپ رو شروع می کنه خوبه.برای دیدن آموزش های سی شارپ کافی بود از Sidebar سمت راست برنامه نویسی=> WindowsApplication => سی شارپ رو انتخاب می کردید.
      از لینک زیر هم می توانید استفاده کنید.

  2. رعنا گفت:

    سلام
    لطفا پیاده سازی fifo رو با #C برا من ایمیل کنین (:yes:)
    بد جوری گیر افتادم خیلی ممنون میشم اگه بفرستید.

  3. رعنا گفت:

    مرسیییییییییییییییییییییییی
    اگه اشکال داشتم میتونم از طریق ایمیل ازتون بپرسم؟؟؟؟
    ایمیلتون؟؟؟

  4. رعنا گفت:

    آخه تو این فیلملا فقط درست کردن صف رو گفته من پیاده سازی الگوریتم fifo در سیستم عاملو میخوام
    خواهشن کمکم کنین

    • سید عبدالله محمودزاده گفت:

      الگوریتم FiFO=First in-First out که چیز سختی نیست.یعنی اونی که اول میاد اول هم کارش رسیدگی بشه و از صف خارج بشه.صف دقیقا همون الگوریتم Fifo رو داره.اما اگه خواستید خودتون پیاده سازی کنید.یک لیست یا آرایه تعریف کنید.هر وقت خواستید چیز جدیدی اضافه کنید به انتهای لیست اضافه کنید و هر وقت خواستید حذف کنید از ابتدا انجام دهید.همین.

      موفق باشید.

ارسال دیدگاه

نام (*)
پست الکترونیکی (*)
وبسایت

There are no products