PracticU

תרגילים על חידושים ב-C# ver 2

בלי כתוביותעם כתוביות
PracticU › קורס תכנות מתקדם - #Advanced .NET C › תרגילים על חידושים ב-C# ver 2
מילון מושגים:
C# - שפת תכנות מונחית עצמים של מיקרוסופט, המשמשת בעיקר לפיתוח יישומים על פלטפורמת .NET.
מחלקה - תבנית בתכנות מונחה עצמים שמגדירה אילו נתונים ופעולות יהיו לאובייקטים שנוצרים ממנה.
פונקציה - קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.
מתודה - פונקציה המוגדרת בתוך מחלקה ומתארת פעולה שאובייקטים מאותה מחלקה יכולים לבצע.
בנאי - מתודה מיוחדת שמופעלת אוטומטית בעת יצירת אובייקט ממחלקה, ומאתחלת את ערכיו ההתחלתיים.
אופרטור - סימן בקוד שמבצע פעולה על ערכים, כמו חיבור, השוואה או פעולה לוגית.
אובייקט - יחידה בתכנות מונחה עצמים שמאגדת נתונים (תכונות) ופעולות (מתודות). נוצר בדרך כלל ממחלקה המשמשת כתבנית.

תרגילים על חידושים ב-C# ver 2
התרגילים בודקים את החידושים של C# 2: מחלקות סטטיות, מחלקות partial, yield return, טיפוסים nullable ופונקציות אנונימיות עם Predicate.
התרגילים
1. מחלקה סטטית: צרו מחלקה סטטית עם שדות, פרופרטיז ומתודות. בדקו אם היא יכולה לרשת ממחלקה אחרת, אם אפשר להגדיר בה static constructor או instance constructor, ואם אפשר להשתמש בה במילה this.
2. Partial: מחלקה Test בשלושה קובצי קוד. בכל קובץ data member ופונקציה אחרים. ב-Main אתחלו את כולם וקראו לכל הפונקציות.
3. פיבונאצ'י: פונקציה שמקבלת n ומחזירה IEnumerable<int> של n המספרים הראשונים (1, 1, 2, 3, 5...). השתמשו ב-yield return ולא ברשימה פנימית, וקראו לה מתוך foreach.
4. Nullable: שני משתני DateTime, אחד עם null ואחד עם הזמן הנוכחי. הציגו null או את הערך בעזרת GetValueOrDefault ובעזרת האופרטור ??.
5. קוקה קולה: מחלקה עם נפח ומחיר. רשימה של 100 אובייקטים אקראיים, מחיר בין 3 ל-10 ונפח בין חצי ל-2. הגדירו Predicate עם פונקציה אנונימית שמחזירה true לנפח 1 בדיוק, העבירו ל-FindAll והציגו את התוצאה.
אחרי התרגילים תוכלו להשתמש בפיצ'רים של C# 2 ולהבין מתי כל אחד מהם נחוץ.
השיעור הבא בקורס: חידושים ב-C# ver 3 - חלק 1

פרקי ההרצאה: תרגילים על חידושים ב-C# ver 2

  1. 00:00

    מחלקה סטטית ומגבלותיה

  2. 00:37

    מחלקה חלקית בכמה קבצים

  3. 01:31

    סדרת פיבונאצ'י עם yield return

תמלול ההרצאה: תרגילים על חידושים ב-C# ver 2

הטקסט המלא של הדקות הראשונות בהרצאה «תרגילים על חידושים ב-C# ver 2» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    רגילים בנושא vsharp 2. צרו מחלקה סטטית שמכילה מספר שדות, מספר פרופרטיז ומספר מתודות. האם המחלקה הזאת יכולה לרשת ממחלקה אחרת? תבדקו את זה.

  2. 00:15

    האם אתם יכולים להגדיר static constructor בתוך המחלקה הזאת? האם אתם יכולים להגדיר instance constructor בתוך המחלקה הזאת, כלומר קונסטרקטור שהוא לא סטטי?

  3. 00:26

    האם אתם יכולים להשתמש במילה השמורה this איפשהו בתוך המחלקה? צרו מחלקה שנקראת טסט בשלושה קבצי סורס קוד שונים.

  4. 00:37

    בכל קובץ צרו דאטה ממבר אחר בתוך המחלקה טסט. בכל קובץ צרו פונקציה שמציגה את שלושת הדאטה ממברס, כמובן פונקציה אחרת.

  5. 00:50

    בתוך המיין צרו אובייקט מהמחלקה טסט, בצעו אתחול של כל הדאטה ממברס וקראו לכל הפונקציות. תראו אם הכל עובד כמו שצריך. סדרת פיבונאצ'י זה סדרה שבה שני המספרים הראשונים הם 1 ו-1 ואז כל מספר בנוי על ידי סכום שני המספרים הקודמים שלו.

  6. 01:12

    לכן הסדרה הזאת מתחילה כ-1-1, לאחר מכן 2 כי 1 ועוד 1 זה 2, 3 כי 1 ועוד 2 זה 3, 5 כי 2 ועוד 3 זה 5 וכן הלאה. צרו פונקציה שמקבלת מספר n ומחזירה את n המספרים הראשונים של סדרת פיבונאצ'י, כך שהיא מחזירה i innumerable של int.

  7. 01:36

    עכשיו בתוך הפונקציה אתם צריכים להשתמש ב-yield return ולא ליצור איזושהי inner list פנימית בתוך הרשימה שאז מכילה את כל הערכים וה-inner list הזאת מוחזרת.

  8. 01:49

    אין לכם שום inner list בתוך הפונקציה אלא פשוט להשתמש ב-yield return. קראו לפונקציה הזאת ישירות מתוך לולת for each והציגו את כל המידע שמוחזר ממנה.

לקורס המלא: קורס תכנות מתקדם ב‑#C ודוט-נט

ההרצאה הקודמת: חידושים ב-C# ver 2

ההרצאה הבאה: חידושים ב-C# ver 3 - חלק 1

הרצאות קשורות מקורסים אחרים

  • תרגילים 1-3
  • חידושים בשרת Hyper-V
  • תרגילים על מטריצות בג'אווה
  • תרגילים מסכמים בנושא עיצוב

קורסים נוספים במסלול

  • קורס WinForms - תוכנות רגילות בווינדוס
  • פרויקט מעשי ב-#C - בונים מחשבון פשוט
  • פרויקט מעשי ב-#C - ספר טלפונים
  • פרויקט מעשי ב-#C - תוכנת צייר
  • קורס ADO.NET - חיבור אתר למסד נתונים
  • קורס WCF - תקשורת למתקדמים בדוט-נט