مقایسه سرعت حلقه for و foreach در دسترسی به آرایه - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

مقایسه سرعت حلقه for و foreach در دسترسی به آرایه

0 امتیاز

سلام.

خسته نباشید.

در این سایت  http://www.dotnetperls.com/for-foreach   مقایسه ای در باره ی حلقه for و foreach صورت گرفته . گفته شده در حلقه for  به آرایه در heap دسترسی پیدا میشه  و foreach مقدار آرایه رو (منظروم یک خونه از آرایه رو)  از حافظه heap میخونه و در متغیری در stack ذخیره میکنه زمانی که یک بار به متغیر دسترسی میشه سرعت for از foreach بیشتره به خاطر اینکه foreach متغیرهای محلی بیشتری داره.  اما زمانی که نیاز داشته باشیم بیشتر از یک بار به خانه ای از آرایه دسترسی داشته باشیم  حلقه for سرعتش کمتر از حلقه foreach است به این دلیل که در for  هر بار  باید به خانه ی آرایه در حافظه heap دسترسی داشته باشیم اما حلقه foreach بار اول به حافظه heap دسترسی پیدا میکنه و مقدار رو در متغیری در حافظه stack ذخیره میکنه و دفعات بعدی مقدار رو از  stack میخونه و چون دسترسی به stack سریعتر است بنابراین سرعت اجرای حلقه foreach بالا تر هستش.

استادان بنده ممنون میشم راهنمایی کنید که آیا نتیجه گیری این سایت صحیح است یا خیر و اگر صحیح نیست لطفا در مورد این دو حلقه توضیح دهید؟ 

سوال شده شهریور 7, 1394  بوسیله ی امیدوار (امتیاز 872)   21 63 76
ویرایش شده شهریور 7, 1394 بوسیله ی امیدوار

پاسخ شما

اسم شما برای نمایش (دلخواه):
از ایمیل شما فقط برای ارسال اطلاعات بالا استفاده میشود.
تایید نامه ضد اسپم:

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