לדלג לתוכן

תרגול גנריקה וחוזי תוצאה

כתבו פונקציה generic שמוצאת את האיבר בעל Cost הגבוה ביותר בתוך ReadOnlySpan, עם אותו constraint מההרצאה. החזירו false ו־default דרך out כשהקלט ריק, ואל תמירו את האיברים לממשק לצורך ההשוואה. הגדירו מה קורה בשוויון.

כתבו record שמחזיק byte[] והדגימו מדוע with אינו יוצר snapshot עצמאי. תקנו את ה־API באמצעות בנאי או factory שמעתיק קלט ומחזיר גישה לקריאה בלבד, והסבירו את ההבדל בין ReadOnlyMemory לבין הבטחה שהמערך לעולם לא ישתנה דרך alias אחר.

הסבירו מדוע IEnumerable ניתן להמרה ל־IEnumerable, ומדוע IEnumerable אינו ניתן לאותה המרה. הוסיפו בדיקה עם nullable analysis שמחייבת לטפל בתוצאת חיפוש חסרה.