Зачем переопределять методы ToString(), GetHashCode(), Equals() - C#

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

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

В голове не укладывается. Зачем это на практике нужно?

Решение задачи: «Зачем переопределять методы ToString(), GetHashCode(), Equals()»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace ConsoleApplication2
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             Point p1 = new Point(10, 10);
  13.             Point p2 = new Point(10, 10);
  14.  
  15.             Console.WriteLine("ToString(): {0}",p1.ToString());
  16.  
  17.             Console.WriteLine("Equals(): {0}",p1.Equals(p2));
  18.            
  19.             Console.ReadLine();
  20.         }
  21.     }
  22.     public class Point
  23.     {
  24.         public int X { get; set; }
  25.         public int Y { get; set; }
  26.  
  27.         public Point() { }
  28.         public Point(int xPos, int yPos)
  29.         {
  30.             X = xPos; Y = yPos;
  31.         }
  32.  
  33.         public override string ToString()
  34.         {
  35.             return string.Format("X = {0}; Y = {1}", X, Y);
  36.         }
  37.  
  38.         public override bool Equals(object obj)
  39.         {
  40.             if (obj is Point)
  41.             {
  42.                 if (this.X == ((Point)obj).X &&
  43.                     this.Y == ((Point)obj).Y)
  44.                     return true;
  45.                 else
  46.                     return false;
  47.             }
  48.             return false;
  49.         }
  50.         public override int GetHashCode()
  51.         {
  52.             return this.ToString().GetHashCode();
  53.         }
  54.     }
  55. }

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


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

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

10   голосов , оценка 3.7 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы