خرید بک لینک

حلقه ی foreach :

کارایی این حلقه بیشتر زمانی است که یک ارایه یا لیست و... داشته باشیم و بخواهیم به عناصر داخلی آن دسترسی پیدا کنیم ی نوع حلقه بدونه شرط عمل است و تا اخر برسی میکند.

مورد استفاده از این حلقه زمانی که برنامه نویس بخواد عناصر یک آرایه یا کالکشن رو عنصر به عنصر پیمایش کنه.

مثلا شما فرض کنید یک آرایه از اعداد صحیح دارید و می خواید مجموع اعداد داخل این آرایه را حساب کنید چه کار می کنید؟
اگر foreach ندونید مستقیم باید بری سراغ یک حلقه for معمولی for که همچین چیزی میشه :

int[] array = {45,10,-5,78,33,84,96,12,32,19,3};

int sum = 0;

for (int i = 0; i < array.Length; i++)

sum += array[i];

این روش رو که بلدید ؟یک for ساده از مبانی یاد گرفتید!حالا میخوام با foreach بنویسمش ببینید :

int[] array = {45,10,-5,78,33,84,96,12,32,19,3};

int sum = 0;

foreach(int item in array)

sum += item;

برای استفاده از این نوع حلقه یک متغیر تعریف می کنیم از جنس عناصر اون آرایه ای که می خوایم دونه دونه عناصرش رو بخونیم.
مثلا اینجا متغیر item رو از جنس int گرفتم که هر بار حلقه تکرار میشه مقدار item برابر میشه با مقدار یکی از عناصر آرایه.
مثلا اینجا دفعه ی اولitem=45 دور بعد که حلقه اجرا میشه item=10 میشه خلاصه همین طور ادامه پیدا می کنه تمام عناصر آرایه یکبار مقدارشون داخل متغیر item قرار بگیره .
ضعف های این نوع حلقه :
1-در این روش شما فقط می تونید مقدار عناصر آرایه رو بخونید نمی تونید عوضشون کنید.
یعنی اگر به جای sum += item میذاشتیم item++ از کد اشکال میگرفت .
2-شما نمی دونید این عنصری که الآن مقدارش توی item قرار گرفته چندمین عنصر آرایست!مثلا این کد رو که با for معمولی نوشتم رو نمی تونید با foreach بنویسید :

int[] array = { 45, 10, -5, 78, 33, 84, 96, 12, 32, 19, 3 };

for (int i = 0; i < array.Length; i++)

array[i] = i * array[i];

توی این کد هر عنصر رو توی اندیس اون عنصر ضرب کردم که با foreach خالی نمی شه نوشتش .
نقاط قوت این نوع حلقه :
1-خوانائی !کد هائی که با این نوع حلقه نوشته میشه نسبتا خوانا تر تا کد های حلقه ی for.

برچسب: نویسنده: هلیا بهرامی تاريخ: يکشنبه 10 دی 1396 ساعت: 3:45

صفحه بندی