
Name ו-Performer מטיפוס string ו-Price מטיפוס decimal שלא יכול להיות שלילי. את Name ו-Performer הגדירו כ-auto-implemented properties.decimal x = 100 ו-decimal y = x.GetVat(18) אין ל-decimal פונקציה כזאת. צרו extension method בשם GetVat שמקבלת אחוז ומחזירה את המע"מ, בלי לשנות את השורות. הציגו את המע"מ עבור כל CD.ToString.List<int>. הקוד קורא ל-GetEvenNumbers ול-GetOddNumbers. כתבו אותן כך שהקוד יתקמפל בלי שינוי ויחזיר את המספרים הזוגיים והאי-זוגיים.הטקסט המלא של הדקות הראשונות בהרצאה «תרגילים על חידושים ב-C# ver 3» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
מגילים בנושא C-Sharp 3. יצרו מחלקה בשם CD שמתארת קומפקט דיסק. מכילה name שזה סטרינג, performer שזה סטרינג ו-price שזה דצימל והוא לא יכול להיות שלילי.
אסור להיות שלילי. בצעו auto-implemented properties עבור ה-name וה-performer. אל תעשו אותם כ-data member אלא כ-properties שהם auto-implemented properties.
בתוך המיין, צרו אובייקט מהקלאס הזאת על ידי האובייקט אינישיאלייזר, טכניקת האובייקט אינישיאלייזר. צרו ליסט של סידי, התחילו אותה באובייקט האחד והיחיד שיצרתם, ובנוסף על ידי שלושה אובייקטים נוספים שנוצרים on the fly בתוך התחביר של ה-collection initializer.
המשיכו מהתרגיל הקודם, קראו ל-Find All של הליסט והעבירו אליה למדה אקספרשן עבור מציאת כל הסידיז בעלי שם שמתחיל ב-a קטנה או ב-a גדולה. הציגו את כל התוצאות שמוחזרות.
קראו עוד פעם ל-Find All, שוב פעם העבירו למדה אקספרשן, אבל הפעם כזאת שמתאימה למציאת כל הסידיז בעלי מחיר בין 30 ל-50.
שוב פעם הציגו את כל התוצאות שמוחזרות מ-Find All, בדקו האם זה נכון. פעם שלישית קראו ל-Find All, שילחו אליה למדה אקספרשן שמתאימה עבור מציאת כל ה-CDs בעלי פרפורמר ששווה בדיוק למייקל ג'קסון.
שוב פעם הציגו את כל התוצאות ובדקו האם הכל עובד כמו שצריך. המשיכו מהתרגיל הקודם והציגו במיין את הקוד הבא decimal x שווה 100 decimal y שווה x נקודה get vat ושילחו 18 לפונקציה get vat vat זה value you added tax מה שנקרא מע"מ כלומר במיין אתם אמורים להצליח לכתוב בעצם את שתי השורות האלה.
עכשיו השורה הזאת תעלה לכם שגיאת קומפילציה ה-get vat מפני שאין לדצימל פונקציה שנקראת get vat והמצאה אין לה דבר כזה. בלי לשנות את הקוד הזה אתם צריכים ליצור extension method מתאימה שנקראת get vat כך שהפונקציה הזאת תשויך לדצימל.