پرسشم درمورد حلقه ی forech

مهدی محمدی
10 آذر ۱۴۰۰
سلام خدمت اقای صفری یه سوالی داشتم و اونم اینه که حلقه ی foreach فقط از لیست ها میتونه داده بگیره؟ چون من یه تابع از نوع void ساختم و اون رو در حلقه ی foreach تعریف کردم متاسفانه از اسم تابع خطا میگیره خطاشم اینه: The type 'void Function(String, String, String, String)' used in the 'for' loop must implement Iterable چیکار کنم و مشکل از کجاست؟
1343

1 پاسخ
  • ساسان صفری10 آذر ۱۴۰۰

    سلام دوست خوبم ، 
    حلقه ی foreach فقط برای مجموعه ها به کار میره، مجموعه چیزیه که تعدادی از مقادیر رو تو خودش نگهداری میکنه، List یک مجموعه ست، Map یک مجموعه‌ست .
     
    با تابع میتونی چند خط کد رو که قراره کار خاصی برات انجام بدن رو بسته بندی میکنی تا هروقت خواستی صداش بزنی واین باعث میشه کدهات مرتب تر بشن و کد تمیز تری بنویسی و مهم تر از همه اینکه هربار خواستی در طول پروژه تابع رو صدا میزنی و اون چند خط کد رو همش از اول نمینویسی. 

    اگه چند خط بالا رو خوب فهمیدی ادامه بده:
    فقط در صورتی میتونی یک تابع رو با foreach پیمایش کنی که تابع از نوع بازگشتی باشه و حتما حتما یک مجموعه مثل List رو returnکنه (برگردونه)