Обращение к полям через 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; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д