خوش آمدید دوباره.
حالا بالاخره وقتش رسیده که به چهارمین نوع حلقه‌ها برسیم، و آن است for each حلقه
اما قبل از آن، می‌خواهم اول چیزی را به صورت دستی نشان دهم، چون یک بازی ویدیویی هست،
فکر می‌کنم Mafia 2 باشد، که از زندان خارج می‌شوید و حالا سعی می‌کنید زندگی عادی داشته باشید.
خب، زندگی عادی.
و بازی واقعاً شما را مجبور می‌کند زندگی عادی داشته باشید، جایی که جعبه‌ها را از A به B می‌برید، و
این تمام کاری است که در طول روز انجام می‌دهید.
پس بازی چند دقیقه‌ای شما را مجبور می‌کند جعبه‌ها را از A به B ببرید تا واقعاً از آن خسته شوید.
و سپس
جایگزینش این است که برگردید و دوباره گانگستر شوید.
پس این کاری است که ما اینجا انجام می‌دهیم.
پس ابتدا کار عادی را انجام می‌دهیم قبل از اینکه ببینیم چگونه می‌توانیم
انجام دهیمfor each حرکت گانگستری را با استفاده از حلقه
پس می‌خواهم تمام روزهای هفته را نمایش دهم، باشه.
می‌خواهم آن‌ها را در کنسول نمایش دهم.
پس از این مثال استفاده می‌کنیم right line.
و انجامش می‌دهیم.
خیلی ساده است، درست است؟
فقط کپی و پیست.
خیلی آسان.
اما کپی و پیست برای مدتی خوب است اما برای تعداد زیاد مناسب نیست.
پس وقتی کدنویسی می‌کنید و مدام کپی و پیست می‌کنید، در واقع کد بسیار غیر بهینه می‌نویسید
IDE که فضای زیادی در شما اشغال می‌کند.
این لزوماً به این معنا نیست که کند اجرا می‌شود، اما خوانایی خوبی ندارد.
کد.
پس کاری که اینجا انجام می‌دهیم این است که تمام روزهای هفته را نمایش می‌دهیم.
بیایید سریع اجرا کنیم.
و سپس داریم:
امروز یکشنبه است، دوشنبه، سه‌شنبه، چهارشنبه، پنج‌شنبه، جمعه، شنبه.
پس این خوب است.
حالا نکته این است که می‌توانیم بدانیم چند آیتم در آرایه است،
حتی اگر خودمان آرایه را نساخته باشیم.
پس در مورد ما، دقیقاً می‌دانیم چند آیتم وجود دارد، درست است؟
می‌توانیم آن‌ها را بشماریم.
خیلی ساده است.
اما اگر این فقط هفت آیتم نبود چه؟
اگر هزار آیتم یا ده هزار آیتم بود چه؟
اگر کل داده‌های این آرایه توسط خودمان ساخته نشده بود و از جایی دانلود شده بود چه؟
خب پس شانسی ندارید، چون حالا چه کاری می‌توان انجام داد؟
خب، نکته این است که اول از همه می‌توان طول آرایه را پیدا کرد.
پس این کاری است که می‌توانیم انجام دهیم.
پس اجازه دهید نشان دهم چگونه می‌توانید بگویید طول آرایه weekdays این است و سپس از ویژگی length استفاده کنید.
پس آرایه چیزی به نام property دارد به نام length.
این تعداد کل عناصر در تمام ابعاد آرایه را به ما می‌دهد.
حالا تمام ابعاد.
وای، باشه.
هنوز به آرایه‌های چند بعدی نگاه نکرده‌ایم.
بعداً این را انجام می‌دهیم.
اما فعلاً اینجا می‌بینیم که weekdays داریم و این weekdays طول مشخصی دارند، که
به این معنی است که تعداد مشخصی آیتم داخل این آرایه به نام weekdays وجود دارد.
length پس این تعداد آیتم‌ها در آرایه را به ما می‌دهد.
باشه، اجرا می‌کنیم.
و می‌گوید طول آرایه weekdays
هفت است.
weekdays خب، خوب نوشته نشده اما مهم نیست، طول آرایه این است.
حالا می‌توانیم از این length استفاده کنیم تا با یک حلقه for از میان weekdays عبور کنیم.
for پس دیدیم حلقه‌های چگونه کار می‌کنند.
و این یک روشی است که می‌توانیم استفاده کنیم.
این بهینه‌ترین روش نیست، اما اگر بخواهم این‌طور استفاده کنم می‌توانم فقط بگویم، خب، برای int
IDE و می‌بینید که دقیقاً می‌داند چه می‌خواهم انجام دهم.
عالی است.
پس کاری که من اینجا به صورت دستی انجام دادم، حالا با این حلقه انجام دادیم for
ما از یک حلقه for استفاده می‌کنیم که از صفر شروع می‌شود.
پس از اندیس صفر، چون یک آرایه از اندیس صفر شروع می‌شود.
و سپس تا زمانی که کمتر از طول آرایه است، تکرار می‌کنیم.
چون اگر طول آرایه هفت باشد، بیشترین اندیس چیست؟
پس بالاترین اندیس موجود شش است.
به همین دلیل است که ما از I کمتر از طول weekdays و I++ استفاده می‌کنیم.
این کار همان کار را برای ما انجام می‌دهد.
و فقط هر روز هفته را نشان می‌دهد.
پس یکشنبه، دوشنبه، سه‌شنبه و غیره. می‌توانیم ادامه دهیم و هر چیزی را که می‌نویسیم افزایش دهیم.
اما به طور کلی، این چیزی است که می‌توانیم با حلقه for به دست آوریم.
اما راه زیباتر دیگری هم وجود دارد و آن استفاده از حلقه for each است.
for each حلقه به این شکل است.
var item شما را در آرایه دارید.
پس در اینجا هر آرایه یا لیستی که دارید.
weekdays در مورد ما، می‌خواهم از میان عبور کنم.
weekdays پس همان آرایه است.
و حالا این var item فقط هر آیتم موجود در weekdays خواهد بود.
پس حالا می‌توانم از Console.WriteLine استفاده کنم تا item را نمایش دهم.
پس اجازه دهید این را حذف کنم.
این حلقه for را.
پس فعلاً آن را کامنت می‌کنم.
for each این حلقه حالا همان کار را انجام خواهد داد.
اجرا می‌کنم و می‌گوید: یکشنبه، دوشنبه، سه‌شنبه، چهارشنبه، پنج‌شنبه، جمعه، شنبه.
خوب.
یک راه دیگر برای نام‌گذاری این var item می‌تواند string day باشد.
باشه.
و سپس فقط از day اینجا استفاده کنید.
این فقط مسئله نام‌گذاری بود.
می‌توانید هر چیزی نام‌گذاری کنید.
اما خیلی مهم است که نوع داده‌ای که اینجا استفاده می‌کنید با نوع داده آرایه یکی باشد.
string array پس آرایه نوع داده دارد.
string اما ما به نگاه می‌کنیم.
string day پس همان روز فردی از اجرای فعلی است.
weekdays پس همان بار اجرای فعلی از آرایه ما.
breakpoint پس اجازه دهید یک اضافه کنیم و آن را دیباگ کنیم.
پس طول weekdays.
و اجازه دهید این‌طور بگذارم.
تا بهتر بخوانیم.
پس من فقط وارد می‌شوم و می‌گوید باشه.
حالا به weekdays نگاه می‌کند و سپس وارد in می‌شود و بعد وارد string day می‌شود.
پس ابتدا به آرایه نگاه می‌کند و می‌گوید باشه، در آرایه یک روز وجود دارد.
حالا بیایید به اولین روز نگاه کنیم.
پس این Console.WriteLine day را اجرا می‌کند که day با sun شروع می‌شود.
پس در اولین تکرار، day برابر sun است.
است؟sun چرا
چون اولین آیتم، اولین ورودی داخل آرایه weekdays ما، sun است.
پس سپس تکرار تمام می‌شود.
بازرسی دوباره انجام می‌دهد.
پس آیا هنوز آیتمی داخل weekdays داریم؟
و سپس می‌گوید باشه، داریم.
حالا برویم آیتم بعدی را استفاده کنیم و آن را day بنامیم.
پس متغیر string day فقط داخل این کروشه‌ها قابل دسترس است.
پس حالا آن‌ها Munn خواهند بود، باشه.
day پس وارد خط کد می‌شویم و می‌توانید ببینید اگر روی بروید، می‌بینید که در واقع .
است munn
پس حالا این فقط از روی هر مورد داخل روزهای هفته ما عبور می‌کند تا زمانی که دیگر روز هفته‌ای باقی نماند.
باشه.
پس بذار روی آن کلیک کنم.
الان ما جمعه هستیم، حالا شنبه هستیم.
یک بار دیگر اجرا می‌شود.
و حالا اگر به خط بعد بروم، بررسی خواهد کرد.
آیا هنوز موردی در داخل روزهای هفته هست که من پوشش نداده باشم؟
می‌گوید نه، وجود ندارد.
پس از این حلقه for each خارج می‌شود و به خط بعد می‌رود.
باشه.
و این همان چیزی است که اینجا اتفاق می‌افتد، باشه.
پس این حلقه for each است که به ما اجازه می‌دهد بگوییم باشه، فقط از روی لیست عبور کن.
هر چند مورد که در این لیست باشد، فرقی نمی‌کند اگر آرایه باشد یا لیست، مهم نیست.
در این حالت ما فقط به آرایه‌ها نگاه می‌کنیم چون همین الان داریم روی آن تمرکز می‌کنیم.
اما می‌توانیم ببینیم که برای هر مورد داخل آرایه، حالا می‌توانیم for eachبا استفاده از حلقه
کاری با آن انجام دهیم
for each پس این همان کاری است که حلقه واقعاً انجام می‌دهد.
هدف آن ساختن شمارنده نیست، هیچکدام از این‌ها نیست.
واقعاً برای عبور از یک مجموعه از آیتم‌ها است.
باشه، پس این تمام ویدیو بود.
for each حالا می‌دانید حلقه‌های چگونه کار می‌کنند.
و کمی بیشتر درباره نوع داده آرایه دیده‌ایم.
پس در ویدیوی بعدی می‌بینمتان.