@dovid אמר באלגוריתם: סינון מערך (#C):
@קומפיונט ביקשתי דוגמה שבה Max ייכשל אבל שיטה אחרת תעבוד בלי טיפול בNull
אתה כן טיפלת בNull מה שעוזר גם בMax.
אם אתה רוצה שאבין את אהרון אתה צריך למצוא מצב שMax נכשל, ושיטה אחרת מצליחה באותו האופן (מה שנקרא בלימוד "דכוותא").
@dovid אתה רוצה שאני אביא לך דוגמא שאתה בעצמך יודע שאין כזאת אפשרות בעולם. זה כמו שתגיד לי: 'אם תרצה שאבין את אהרון תן לי דוגמא שאחד ועוד אחד שווה שלוש'.
אבל דוגמא תיאורטית מטופשת אני יכול להביא לך אם ממש תרצה בכך:
יש לך מערך של אנשים, שאתה כבר יודע שהאיש הראשון ברשימה הוא האדם הצעיר ביותר, אם תרצה להחזיר את האיש הצעיר ביותר תוכל גם עם MinBy, וגם עם First. בעוד שMinBy יזרוק שגיאה אם אחד האברים במערך הוא null, מה שאין כן First שיחזיר את הערך הראשון אפילו אם יש הרבה nullים, וגם אם הראשון null הוא יחזיר אותו.
אז הנה דוגמה מטופשת שלא מורידה בכי הוא זה את היעילות של MinBy, MaxBy ודומיהן. אם תרצה דוגמא מעשית אתה כבר יודע שאין כזאת דוגמא.
אני לא יודע אם @Aharon-0 הבין את מה שהוא אמר, אני יכול לדון אותו לכף זכות שהוא חשב שהקריאה היא רק לFirst, אבל הוא שכח שלפני זה נקרא הOrderBy ואם יהיה איבר null במערך זה יפול כבר שם, אז אין שום 'בעיה' להשתמש עם MaxBy. ואדרבה הוא יותר יעיל כמו שאמרת (כי מבוזבז להשתמש בOrderBy ולמיין מערך שלם רק בשביל להביא את הערך הגבוהה ביותר).
וחס וחלילה לומר שmax הוא 'בעייתי'.
@dovid נראה לי שהנושא הזה כבר הגדיש את הסאה. מספיק..