دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۲۶
  • اردیبهشت

جلسه ۲۲-۰۱ : Mutable Lists در #F

  • دسته‌بندی‌ها :
جلسه ۲۲-۰۱ : Mutable Lists در #F
    • جزئیات
    • نوع محتواآموزشی

      مقدمه

      سلام درود خدمت همراهان همیشگی سایت پی وی لرن . با آموزش زبان برنامه نویسی #F همراهتون هستیم. به طور کلی ما خیلی از جاها در برنامه خود از آرایه ها استفاده می کنیم که همان اول برنامه طول آرایه را اعلام می کنیم و تا  آخر برنامه طول آن آرایه همان است .در صورتی که شما خانه های بیش تری نیاز داشته باشبد یا خانه ای را در آرایه اضافه آورده باشید و یا اگر بخواهید یک خانه را حذف کنید یا شاید هم یک خانه اضافه کنید ،در این جا آرایه جواب گو نیست. بنابراین در این قسمت مبحث Mutable Lists در #F و ایجاد یک لیست قابل تغییر یا Mutable List در #F رو در دو قسمت بیان می نماییم. در ابتدا تعریف Mutable Lists در #F رو می بینیم.

      Mutable Lists در #F

      کلاس <List<‘T نشان دهنده لیستی از نوع strongly از اشیائی است که می توانند از طریق ایندکس دسترسی پیدا کنند.

      این یک همگرایی قابل تغییر از کلاس List است. و شبیه به آرایه ها است بطوری که می توانند از طریق یک ایندکس قابل دسترس باشند،

      اما بر خلاف آرایه ها، لیست ها می توانند تغییر اندازه داشته باشند.

      بنابراین در طول اعلان، نیازی به تعیین اندازه نیست. در ادامه ایجاد یک لیست قابل تغییر یا Mutable List در #F رو خواهیم داشت.

      ایجاد یک لیست قابل تغییر یا Mutable List

      در این قسمت ایجاد یک لیست قابل تغییر یا Mutable List در #F رو داریم.

      لیست ها با استفاده از کلید واژه جدید ایجاد می شوند و از constructor لیست فراخوانی می شوند. مثال زیر این را نشان می دهد.

      مثال : 

      هنگامی که شما برنامه را کامپایل و اجرا می کنید، خروجی زیر را تولید می کند.

      مثال : 

      در ادامه Mutable Lists در #F و ایجاد یک لیست قابل تغییر یا Mutable List در #F به کلاس لیست می پردازیم.

      The List(T) Class

      کلاس (List (T نوع strongly از اشیائی است که می توانند از طریق Index قابل دسترس باشند.

      این روشی برای جستجو، مرتب سازی و مدیریت لیست ها را فراهم می کند.

      جداول زیر، خواص، constructor و روش های کلاس لیست (T) را ارائه می دهند.

      ویژگی ها

      ویژگیتوضیحات
      Capacityتعداد کل عناصر ساختار داده های داخلی که می تواند بدون تغییر اندازه نگه داشته شود را می  گیرد یا ست می کند.
      Countتعداد عناصر موجود در لیست (T) را می گیرد.
      Itemعنصر را در شاخص مشخص می کند را می گیرد یا ست می کند.

      Constructors

      constructor یا سازندهتوضیحات
      ()(List(Tیک نمونه جدید از کلاس لیست (T) که خالی است و ظرفیت اولیه پیش فرض را دارد مقدار دهی اولیه می کند.
      ((List(T)(IEnumerable(Tیک نمونه جدید از کلاس (List (T که شامل عناصر کپی شده از مجموعه مشخص شده است و ظرفیت کافی برای تعدیل تعداد عناصر کپی شده را دارد، مقدار دهی اولیه می کند.
      (List(T)(Int32یک نمونه جدید از کلاس (List (T که خالی است و ظرفیت اولیه مشخص شده را دارد مقدار دهی اولیه می کند.

      Method یا متد

      متدتوضیحات
      AddAdd یک شی به انتهای لیست (T) اضافه می کند.
      AddRangeعناصر مجموعه مشخص شده را به انتهای لیست (T) اضافه می کند.
      AsReadOnlyبسته بندی (IList (T فقط خواندنی را برای مجموعه جاری بازمی گرداند.
      BinarySearch(T)لیست کلی مرتب شده (T) برای عنصر را با استفاده از مقادیر پیش فرض جستجو می کند و ایندکس عنصر بر پایه صفر را برمی گرداند.
      ((BinarySearch(T, IComparer(Tتمام (List(T مرتب شده را برای یک عنصر با استفاده از مقایسه جستجو می کند

      و ایندکس عنصر بر پایه صفر را برمی گرداند.

      ((BinarySearch(Int32, Int32, T, IComparer(Tمحدوده ای از عناصر را در (List(T مرتب شده برای یک عنصر با استفاده از مقادیر مشخص شده جستجو می کند

      و ایندکس مبتنی بر صفر عنصر را برمی گرداند.

      Clearتمام عناصر را از (List(T حذف می کند.
      Containsتعیین این که آیا یک عنصر در فهرست (T) است.
      (ConvertAll(TOutputعناصر موجود در (List(T فعلی را به نوع دیگری تبدیل می کند

      و یک لیست حاوی عناصر تبدیل شده را باز می گرداند.

      ([]CopyTo(Tکل (List(T را به یک آرایه یک بعدی یکپارچه کپی می کند.

      که در ابتدای آرایه target شروع می شود.

      (CopyTo(T[], Int32کل (List(T را به یک آرایه یک بعدی یکپارچه کپی می کند.

      که از ایندکس مشخص شده آرایه هدف یا target شروع می شود.

      (CopyTo(Int32, T[], Int32, Int32محدوده ای از عناصر از (List(T را به یک آرایه یک بعدی یکپارچه کپی می کند، با شروع از ایندکس مشخص شده آرایه هدف.
      (Equals(Objectتعیین این که آیا آبجکت مشخص شده برابر با آبجکت فعلی است یا خیر.
      Existsتعیین می کند که آیا (List(T شامل عناصری است که مطابق با شرایط تعریف شده توسط پیش فرض مشخص شده است.
      Finalizeاجازه می دهد که یک آبجت را برای منابع آزاد امتحان کنید

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

      Findجستجو برای یک عنصر که مطابق با شرایط تعریف شده توسط پیش فرض مشخص شده است،

      و رخداد اول را در کل (List(T باز می گرداند.

      FindAllتمام عناصر را که مطابق شرایط تعیین شده توسط پیش فرض مشخص شده است را بازیابی می کند.
      ((FindIndex(Predicate(Tجستجو برای یک عنصر که مطابق با شرایط تعریف شده توسط پیش فرض مشخص شده است،

      و ایندکس مبتنی بر صفر رخداد اول را در کل لیست (T) باز می گرداند.

      ((FindIndex(Int32, Predicate(Tجستجو برای یک عنصر که مطابق با شرایط تعریف شده توسط پیش فرض مشخص شده است و شاخص مبتنی بر صفر رخداد اول را در محدوده ای از عناصر (List(T که از ایندکس مشخص شده به آخرین عنصر گسترش می یابد، باز می گرداند.
      ((FindIndex(Int32, Int32, Predicate(Tجستجو برای یک عنصر که مطابق با شرایط تعریف شده توسط پیش فرض مشخص شده است،

      و ایندکس مبتنی بر صفر رخداد اول را در محدوده عناصر (List(T که در فهرست مشخص شده شروع می شود و تعداد مشخصی از عناصر را نشان می دهد، باز می گرداند.

      FindLastجستجو برای یک عنصر که مطابق با شرایط تعریف شده توسط پیش فرض مشخص شده است،

      و آخرین رخداد را در کل (List(T باز می گرداند.

      ((FindLastIndex(Predicate(Tجستجو برای یک عنصر که مطابق با شرایط تعریف شده توسط پیش فرض مشخص شده است

      و ایندکس مبتنی بر صفر آخرین رخداد را در کل (List(T برمی گرداند.

      ((FindLastIndex(Int32, Predicate(Tجستجو برای یک عنصر که مطابق با شرایط تعریف شده توسط پیش فرض مشخص شده است

      و ایندکس مبتنی بر صفر آخرین رویداد را در محدوده عناصر (List(T که از اولین عنصر به ایندکس مشخص شده گسترش می دهد، را برمی گرداند.

      ((FindLastIndex(Int32, Int32, Predicate(Tجستجو برای یک عنصر که مطابق با شرایط تعریف شده توسط پیش فرض مشخص شده است

      و ایندکس مبتنی بر صفر آخرین رخداد در محدوده عناصر موجود در (List(T را که حاوی تعداد مشخصی از عناصر است و در فهرست مشخص شده است برمی گرداند.

      ForEachاقدامات مشخص شده را بر روی هر عنصر (List(T انجام می دهد.

      ادامه مبحث ایجاد یک لیست قابل تغییر یا Mutable List در #F و Mutable Lists در #F رو به جلسه بعدی موکول می کنیم.

      کلام پایانی

      ایجاد یک لیست قابل تغییر یا Mutable List در #F و Mutable Lists در #F رو بیان نمودیم.

      و دیدیم که بر خلاف آرایه ها که مشکل عدم تغییر مقدار رو داشتند،

      لیست ها می توانند تغییر اندازه داشته باشند.

      ادامه مباحث رو در قسمت بعدی خواهیم دید.

      QR:  جلسه ۲۲-۰۱ : Mutable Lists در #F
      به اشتراک بگذارید