PDA

View Full Version : سوال: Capacity و Count در List



irpersian20
شنبه 03 فروردین 1392, 02:42 صبح
سلام
Capacity و Count در List دقیقا چه چیز رو میگن بهمون؟
count شمارش میکنه اعضا و عددش رو برمیگردونه؟

capacity چی؟

mze666
شنبه 03 فروردین 1392, 08:59 صبح
اینجا توضیح داده شده. (http://msdn.microsoft.com/en-us/library/y52x03h2.aspx)

irpersian20
شنبه 03 فروردین 1392, 19:15 عصر
متاسفانه متوجه نشدم جریان چی هست. count که تعداد برمیگردونه اما capacity نفهمیدم

plus
شنبه 03 فروردین 1392, 19:54 عصر
ببینید لیست آیتم ها رو در حافظه نگه میداره.برای اینکه هربار یک آیتم به لیست اضافه میشه، نیاز به اختصاص مجدد حافظه (که کاری زمان بر هست) نباشه، در ابتدا وقتی شی ساخته میشه، یه مقداری حافظه (مثلا به اندازه 10 آیتم) به صورت رزو تخصیص داده میشه.در این حالت، شما اگه تا 10 آیتم به لیست اضافه کنی، حافظه برای اون 10 آیتم از قبل اختصاص داده شده و نیازی به اختصاص حافظه برای این 10 آیتم نیست.وقتی آیتم 11 ام اضافه میشه، چون حافظه اضافی نیاز هست، دوباره باید حافظه تخصیص داده بشه (برای 11 آیتم یا بیشتر) و این موضوع زمانگیری هست.با این تفاسیر:
Capacity، مقدار حافظه تخصیص داده شده به لیست هست.یعنی تو این مثالی که زدم 10 میشه Capacity. ولی Count تعداد آیتمهایی که توی لیست قرار داره و طبیعتا کمتر یا مساوی ظرفیت لیست (Capacity) هست.اگه شما بخوای بیش از ظرفیت لیست، به لیست آیتم اضافه کنی، لیست توی خودش عملیات تخصیص مجدد حافظه رو انجام میده و Capacity خود به خود افزایش پیدا میکنه.البته این تخصیص مجدد عمل زمانگیریه بنابراین، بهتره شما وقتی یک لیست رو میسازی و میدونی حدودا حداکثر چند آیتم توی این لیست قرار میگیره، Capacity رو طوری تعیین کنی که نیاز به تخصیص مجدد حافظه نباشه...
امیدوارم منظورم رو متوجه شده باشید.