ערכתי לאחרונה בתאריך 12.10.08 בשעה 17:54 בברכה, ronen333
הנה הדוגמה מMSDN
public class DaysOfTheWeek : System.Collections.IEnumerable { string[] days = { "Sun", "Mon", "Tue", "Wed", "Thr", "Fri", "Sat" }; public System.Collections.IEnumerator GetEnumerator() { for (int i = 0; i < days.Length; i++) { yield return days[i]; } } } class TestDaysOfTheWeek { static void Main() { // Create an instance of the collection class DaysOfTheWeek week = new DaysOfTheWeek(); // Iterate with foreach foreach (string day in week) { System.Console.Write(day + " "); } } }
|
לפיה יש מחלקה DaysOfTheWeek שיורשת מהממשק IEnumerator כדי לחייב אותה ליישם את הפעולה GetEnumerator כדי שתוכל ליישם את המעבר בFOREACH.עכשיו, הצלחתי רק להבין איך שהוא מMSDN שהמילה השמורה yield מאפשרת לחזור לפונקציה אחרי החזרת המידע(RETURN) אבל לא הבנתי גם למשל למה המילה הזאת 'ממירה' את המחרוזת לIEnumerator שאתה מתבקש להחזיר עם הפונקציה.
ומתי אני בעצם משתמש בה? מה היא בדיוק עושה?

