Как сравнить две переменные класса по их определению? - C#
Формулировка задачи:
Как сделать так, чтобы после работы следующего участка кода появилось сообщение:
a1=a3
a1=a2
class A
{
...
}
...
A a1 = new A();
A a2 = new A();
A a3 = a1;
if(a1==a3)//тут условие будет выполняться
Console.WriteLine("a1=a3");
if(a1==a2)//а тут нет, т.к. по сути это разные переменные. Но мне нужно именно сравнение такого рода
Console.WriteLine("a1=a2");
...Решение задачи: «Как сравнить две переменные класса по их определению?»
textual
Листинг программы
public class A
{
public int SomeVar { get; set; } //Какое-то нужное свойство
public override bool Equals(object obj)
{
if (obj == null) { return false; }
if (Object.ReferenceEquals(this, obj)) { return true; }
A other = obj as A;
if (other == null) { return false; }
if (other.SomeVar != this.SomeVar) { return false; }
return true;
}
}