מה ההבדל בין מתודת Equals לcompareTo?
-
מה ההבדל בין מתודת Equals לcompareTo?
האם הראשונה רק מחזירה ערך true/false והשניה מחזירה 1 -1 או 0 כדי לציין האם זה מאוחר, מוקדם או שווה (בהתאמה)?
או שיש הבדלים נוספים/אחרים ביניהם?
כמו כן, האם בDateTime של דוטנט יש מתודה שיודעת להחזיר לי את הפער בימים/חדשים בין שני תאריכים נתונים?
או שאני צריך לממש את זה לבד?תודה רבה!
פורסם במקור בפורום CODE613 ב26/06/2015 12:03 (+03:00)
-
מה ההבדל בין מתודת Equals לcompareTo?
על זה נאמר: ויחפש יהוקצץ בן חורשדינאל בגוגל וימצא.
אחד הדברים הראשונים שאני מלמד את העובדות שלי זה לחפש בגוגל (כי בסמינר אין גוגל אז הן לא ממש יודעות מה זה). אבל גם לא לגלות את זה לאחרים, כדי לשמור על יתרון תחרותי אצלנו בחברה. :lol: :lol: :lol:כמו כן, האם בDateTime של דוטנט יש מתודה שיודעת להחזיר לי את הפער בימים/חדשים בין שני תאריכים נתונים?
יש אפשרות, זה עובר דרך אובייקט של טיימספאן, ראה כאן דוגמא.
פורסם במקור בפורום CODE613 ב27/06/2015 22:56 (+03:00)
-
@avr416
מה ההבדל בין מתודת Equals לcompareTo?על זה נאמר: ויחפש יהוקצץ בן חורשדינאל בגוגל וימצא.
אחד הדברים הראשונים שאני מלמד את העובדות שלי זה לחפש בגוגל (כי בסמינר אין גוגל אז הן לא ממש יודעות מה זה). אבל גם לא לגלות את זה לאחרים, כדי לשמור על יתרון תחרותי אצלנו בחברה. :lol: :lol: :lol:אהבתי!! :lol:
אבל הבעיה בתוצאות של הרב גוגל שליט"א שהם באנגלית.. (לפחות אצלי..) ונכון שאפשר לנסות לשבור את השיניים ולהפעיל את גוגל טרנסלט,
אבל לא תמיד מצליחים להבין איתו מה בדיוק כתוב.
לכן, יותר פשוט זה לבקש הסבר בעברית (כמובן, אם למישהו אחר יש כח לענות לך ולהסביר )פורסם במקור בפורום CODE613 ב27/06/2015 23:38 (+03:00)
-
אם אתה רוצה להיות מתכנת נורמלי, אתה חייב להרגיל עצמך לחפש בגוגל באנגלית, כי בעברית אתה יכול למצוא חומר רק על מכוניות עם גג נפתח... תתחיל מתרגום גוגל, לאט לאט יהיה לך אוצר מילים מינימלי (לא צריך הרבה) כדי לחפש בגוגל חומרים הרלוונטיים לתיכנות. את מרבית השאילתה אתה מרכיב מביטויים שאתה כבר מכיר מעולם הקוד בדרך כלל נשארת לך מילה או שתיים לתרגם ולחפש, וגוגל הוא גם מומחה למילים נרדפות (לפחות באנגלית) כך שעם הזמן תשפר את יכולת החיפוש שלך.
במקום לקנות דג, תקנה חכה, יקח לך יותר זמן עד שיעלה הדג הראשון, אבל אחר כך אתה מסודר לכל החיים....פורסם במקור בפורום CODE613 ב28/06/2015 10:38 (+03:00)
-
אני מאוד מאוד מסכים עם ארכיטקט בקטע של גוגל.
התשובה היא שבעוד שEqual רק אומר לך זהות כן/לא, CompareTo אומר לך אם הערך שווה, גדול, או קטן. דבר שאפשרי לדעת בגלל שהאובייקט ממש IComparble ותחת הממשק הזה הוא מממש מתודה שמחליטה על ערך זר ביחס לערך הנוכחי אם הוא קטן יותר או גדול יותר.
המתודה CompareTo היא כמו האופרטורים > < רק שהם סטטיים (הם יעבדו - אם הם מומשו - גם במידה ושתי המשתנים הם null). מאידך מחלקה חיצונית שרוצה לבדוק שויון בין שתי מופעים של מחלקה אחר לא יכולה להשתמש באופרטורי ההשוואה כל עוד היא לא יודעת שהטיפוס מיישם אותם. משא"כ בCompareTo היא יכולה אחרי וידוא שממומש הממשק IComparable שכופה את קיום המתודה הנ"ל. לכן Array.Sort משתמש בCompareTo.פורסם במקור בפורום CODE613 ב28/06/2015 12:02 (+03:00)