Перегрузка Equals(). NullReferenceException - C#
Формулировка задачи:
Объявите класс P, в котором есть открытые целые свойства X и Y "только для чтения"
и единственный конструктор с двумя параметрами.
Перекройте метод Equals для этого класса так, чтобы экземпляры класса a и b были эквивалентны,
если значения их свойств попарно равны, т.е. a.X == b.X И a.Y == b.Y.
Вот моё решение:
А вот текст ошибки:
ОШИБКА ВЫПОЛНЕНИЯ:
Необработанное исключение: System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
_________
Подскажите, откуда вылазит этот null?
class P { public P(int x, int y) { X = x; Y = y; } public int X { get; private set; } public int Y { get; private set; } public override bool Equals(object obj) { if (obj.GetType() == typeof(P) && obj != null) { return ((P)obj).X == X && ((P)obj).Y == Y; } else return false; } public override int GetHashCode() { return X ^ Y; } }
Решение задачи: «Перегрузка Equals(). NullReferenceException»
textual
Листинг программы
(obj != null && obj.GetType() == typeof(P))
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д