PracticU

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

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

תרגילים על חידושים ב-C# ver 3
התרגילים האלה מתרגלים את החידושים של C# 3: auto-implemented properties, object ו-collection initializer, lambda, extension methods וטיפוסים אנונימיים.
התרגילים
1. מחלקת CD: שדות Name ו-Performer מטיפוס string ו-Price מטיפוס decimal שלא יכול להיות שלילי. את Name ו-Performer הגדירו כ-auto-implemented properties.
2. Initializers: צרו אובייקט עם object initializer, ורשימה של CD עם האובייקט הזה ועוד שלושה שנוצרים בתוך ה-collection initializer.
3. FindAll עם lambda: שלוש חיפושים. שם שמתחיל ב-a או A, מחיר בין 30 ל-50, ו-Performer שווה בדיוק למייקל ג'קסון.
4. Extension method: בשורות decimal x = 100 ו-decimal y = x.GetVat(18) אין ל-decimal פונקציה כזאת. צרו extension method בשם GetVat שמקבלת אחוז ומחזירה את המע"מ, בלי לשנות את השורות. הציגו את המע"מ עבור כל CD.
5. טיפוס אנונימי: מהאובייקט הראשון ברשימה צרו טיפוס אנונימי עם שם, Performer, מחיר ומע"מ, והציגו את המאפיינים ואת ToString.
6. רשימת מספרים: בפרויקט חדש, 100 מספרים אקראיים בין 0 ל-20 ב-List<int>. הקוד קורא ל-GetEvenNumbers ול-GetOddNumbers. כתבו אותן כך שהקוד יתקמפל בלי שינוי ויחזיר את המספרים הזוגיים והאי-זוגיים.
אחרי התרגילים תוכלו להשתמש ב-lambda וב-extension methods ולהוסיף יכולות לטיפוסים קיימים.
השיעור הבא בקורס: LINQ

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

  1. 00:00

    מחלקת CD עם Auto Properties

  2. 00:36

    Collection Initializer לרשימה

  3. 01:11

    שאילתות FindAll עם Lambda

  4. 01:47

    יצירת Extension Method ל-decimal

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

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

  1. 00:02

    מגילים בנושא C-Sharp 3. יצרו מחלקה בשם CD שמתארת קומפקט דיסק. מכילה name שזה סטרינג, performer שזה סטרינג ו-price שזה דצימל והוא לא יכול להיות שלילי.

  2. 00:17

    אסור להיות שלילי. בצעו auto-implemented properties עבור ה-name וה-performer. אל תעשו אותם כ-data member אלא כ-properties שהם auto-implemented properties.

  3. 00:31

    בתוך המיין, צרו אובייקט מהקלאס הזאת על ידי האובייקט אינישיאלייזר, טכניקת האובייקט אינישיאלייזר. צרו ליסט של סידי, התחילו אותה באובייקט האחד והיחיד שיצרתם, ובנוסף על ידי שלושה אובייקטים נוספים שנוצרים on the fly בתוך התחביר של ה-collection initializer.

  4. 00:54

    המשיכו מהתרגיל הקודם, קראו ל-Find All של הליסט והעבירו אליה למדה אקספרשן עבור מציאת כל הסידיז בעלי שם שמתחיל ב-a קטנה או ב-a גדולה. הציגו את כל התוצאות שמוחזרות.

  5. 01:11

    קראו עוד פעם ל-Find All, שוב פעם העבירו למדה אקספרשן, אבל הפעם כזאת שמתאימה למציאת כל הסידיז בעלי מחיר בין 30 ל-50.

  6. 01:21

    שוב פעם הציגו את כל התוצאות שמוחזרות מ-Find All, בדקו האם זה נכון. פעם שלישית קראו ל-Find All, שילחו אליה למדה אקספרשן שמתאימה עבור מציאת כל ה-CDs בעלי פרפורמר ששווה בדיוק למייקל ג'קסון.

  7. 01:37

    שוב פעם הציגו את כל התוצאות ובדקו האם הכל עובד כמו שצריך. המשיכו מהתרגיל הקודם והציגו במיין את הקוד הבא decimal x שווה 100 decimal y שווה x נקודה get vat ושילחו 18 לפונקציה get vat vat זה value you added tax מה שנקרא מע"מ כלומר במיין אתם אמורים להצליח לכתוב בעצם את שתי השורות האלה.

  8. 02:07

    עכשיו השורה הזאת תעלה לכם שגיאת קומפילציה ה-get vat מפני שאין לדצימל פונקציה שנקראת get vat והמצאה אין לה דבר כזה. בלי לשנות את הקוד הזה אתם צריכים ליצור extension method מתאימה שנקראת get vat כך שהפונקציה הזאת תשויך לדצימל.

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

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

ההרצאה הבאה: LINQ

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

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

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

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