
yield return, טיפוסים nullable ופונקציות אנונימיות עם Predicate.this.Test בשלושה קובצי קוד. בכל קובץ data member ופונקציה אחרים. ב-Main אתחלו את כולם וקראו לכל הפונקציות.IEnumerable<int> של n המספרים הראשונים (1, 1, 2, 3, 5...). השתמשו ב-yield return ולא ברשימה פנימית, וקראו לה מתוך foreach.DateTime, אחד עם null ואחד עם הזמן הנוכחי. הציגו null או את הערך בעזרת GetValueOrDefault ובעזרת האופרטור ??.Predicate עם פונקציה אנונימית שמחזירה true לנפח 1 בדיוק, העבירו ל-FindAll והציגו את התוצאה.הטקסט המלא של הדקות הראשונות בהרצאה «תרגילים על חידושים ב-C# ver 2» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
רגילים בנושא vsharp 2. צרו מחלקה סטטית שמכילה מספר שדות, מספר פרופרטיז ומספר מתודות. האם המחלקה הזאת יכולה לרשת ממחלקה אחרת? תבדקו את זה.
האם אתם יכולים להגדיר static constructor בתוך המחלקה הזאת? האם אתם יכולים להגדיר instance constructor בתוך המחלקה הזאת, כלומר קונסטרקטור שהוא לא סטטי?
האם אתם יכולים להשתמש במילה השמורה this איפשהו בתוך המחלקה? צרו מחלקה שנקראת טסט בשלושה קבצי סורס קוד שונים.
בכל קובץ צרו דאטה ממבר אחר בתוך המחלקה טסט. בכל קובץ צרו פונקציה שמציגה את שלושת הדאטה ממברס, כמובן פונקציה אחרת.
בתוך המיין צרו אובייקט מהמחלקה טסט, בצעו אתחול של כל הדאטה ממברס וקראו לכל הפונקציות. תראו אם הכל עובד כמו שצריך. סדרת פיבונאצ'י זה סדרה שבה שני המספרים הראשונים הם 1 ו-1 ואז כל מספר בנוי על ידי סכום שני המספרים הקודמים שלו.
לכן הסדרה הזאת מתחילה כ-1-1, לאחר מכן 2 כי 1 ועוד 1 זה 2, 3 כי 1 ועוד 2 זה 3, 5 כי 2 ועוד 3 זה 5 וכן הלאה. צרו פונקציה שמקבלת מספר n ומחזירה את n המספרים הראשונים של סדרת פיבונאצ'י, כך שהיא מחזירה i innumerable של int.
עכשיו בתוך הפונקציה אתם צריכים להשתמש ב-yield return ולא ליצור איזושהי inner list פנימית בתוך הרשימה שאז מכילה את כל הערכים וה-inner list הזאת מוחזרת.
אין לכם שום inner list בתוך הפונקציה אלא פשוט להשתמש ב-yield return. קראו לפונקציה הזאת ישירות מתוך לולת for each והציגו את כל המידע שמוחזר ממנה.