Перегрузка метода Equals() - C#

Узнай цену своей работы

Формулировка задачи:

Стоит ли перегружать вообще, если можно сравнивать используя метод класса object:
    /// <summary>Определяет время в часах, минутах и секундах</summary>
    [Serializable()]
    public class Time
    {
        /// <summary>Часы</summary>
        public byte Hours { get; set; }
        /// <summary>Минуты</summary>
        public byte Minutes { get; set; }
        /// <summary>Секунды</summary>
        public byte Seconds { get; set; }
 
        public Time()
        {
        }
 
        public Time(byte Hours, byte Minutes)
            : this(Hours, Minutes, 0)
        {
        }
 
        public Time(byte Hours, byte Minutes, byte Seconds)
        {
            this.Hours = Hours;
            this.Minutes = Minutes;
            this.Seconds = Seconds;
        }
 
        public static Boolean operator ==(Time timeOne, Time timeTwo)
        {
            return object.Equals(timeOne, timeTwo);
        }
 
        public static Boolean operator !=(Time timeOne, Time timeTwo)
        {
            return !object.Equals(timeOne, timeTwo);
        }
 
        public override bool Equals(object obj)  //Перегрузка метода 
        {
            Time time = (Time)obj;
            return (Hours == time.Hours && Minutes == time.Minutes && Seconds == time.Seconds);
        }
    }
Если использовать это:
        public override bool Equals(object obj)  //Перегрузка метода 
        {
            Time time = (Time)obj;
            return (Hours == time.Hours && Minutes == time.Minutes && Seconds == time.Seconds);
        }
То и перегружать буду так:
        public static Boolean operator !=(Time timeOne, Time timeTwo)
        {
            return !timeOne.Equals(timeTwo);
        }

Решение задачи: «Перегрузка метода Equals()»

textual
Листинг программы
    class Time : IEquatable<Time>
    {
        public bool Equals(Time other)
        {
            return false;
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5
Похожие ответы