Обращение к полям через this - C#

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

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

Есть два поля одного и того же типа, как компилятор понимает какое именно брать.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        public int x;
        public int z;
        public Program (int x, int z) 
        {
            this.x = x;
            this.z = z;
        }
        public bool Compare(int y) 
        {
            return y.Equals(this);
        }
        static void Main(string[] args)
        {
            int key = Convert.ToInt32(Console.ReadLine());
            Program c = new Program (10,8);
            Console.WriteLine(c.Compare(key));
            Console.ReadLine();
        }
    }
}

Решение задачи: «Обращение к полям через this»

textual
Листинг программы
        public override bool Equals(object obj) {
            // Сравнение с null всегда возвращает false
            if (obj == null)
                return false;
            // Если сравниваемые объекты имеют разный тип, равенство не верно
            if (obj.GetType() != this.GetType())
                return false;
            // Вызываем специфический метод сравнения
            return Equals((Vertex3d)obj);
        }
 
        // Реализация интерфейса IEquatable<T>
        public bool Equals(Vertex3d other) {
            // Сравниваем поля по-одному
            return this._x == other._x
                && this._y == other._y
                && this._z == other._z;
        }

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


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

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

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