public static void UsporedbaOsoba(Osoba osobaA, Osoba osobaB) { Console.WriteLine(osobaA); Console.WriteLine(osobaB); try { Console.WriteLine(osobaA.Equals(osobaB)); } catch (NullReferenceException) { Console.WriteLine("POGREŠKA: osobaA je null referenca pa nema metodu Equals!"); } try { Console.WriteLine(osobaB.Equals(osobaA)); } catch (NullReferenceException) { Console.WriteLine("POGREŠKA: osobaB je null referenca pa nema metodu Equals!"); } // poziv statičke metode Console.WriteLine(Osoba.Equals(osobaA, osobaB)); Console.WriteLine(Osoba.ReferenceEquals(osobaA, osobaB)); }
public static void UsporedbaOsoba(Osoba osobaA, Osoba osobaB) { Console.WriteLine(osobaA); Console.WriteLine(osobaB); Console.WriteLine(osobaA.Equals(osobaB)); Console.WriteLine(osobaB.Equals(osobaA)); }
public void EqualsZaReferentniTip_UsporedbaSNullReferencomVraćaFalse() { Osoba o1 = new Osoba("Janko", 1); Osoba o2 = null; Assert.IsFalse(o1.Equals(o2)); Assert.IsFalse(Osoba.Equals(o1, o2)); Assert.IsFalse(Osoba.ReferenceEquals(o1, o2)); }
public void EqualsZaReferentniTip_UsporedbaReferenciNaIstiObjektUvijekVraćaTrue() { Osoba o1 = new Osoba("Janko", 1); Osoba o2 = o1; Assert.IsTrue(o1.Equals(o2)); Assert.IsTrue(o2.Equals(o1)); Assert.IsTrue(Osoba.Equals(o1, o2)); Assert.IsTrue(Osoba.ReferenceEquals(o1, o2)); }
public void EqualsZaReferentniTip_UsporedbaDvijuOsobaSRazličitimImenimaRazličitimMatičnimBrojemVraćaFalse() { Osoba o1 = new Osoba("Janko", 1); Osoba o2 = new Osoba("Marko", 2); Assert.IsFalse(o1.Equals(o2)); Assert.IsFalse(o2.Equals(o1)); Assert.IsFalse(Osoba.Equals(o1, o2)); Assert.IsFalse(Osoba.ReferenceEquals(o1, o2)); }
static void Main(string[] args) { // dvije osobe Osoba osobaA = new Osoba("Janko", 1); Osoba osobaB = osobaA; Debug.Assert(osobaA.Equals(osobaB)); osobaB.m_ime = "Marko"; Debug.Assert(osobaA.Equals(osobaB) == false); // kloniramo osobaB = osobaA.Clone(); Debug.Assert(osobaA.Equals(osobaB)); osobaB.m_ime = "Pero"; Debug.Assert(osobaA.Equals(osobaB) == false); Console.ReadLine(); }
static void Main(string[] args) { // dvije osobe s različitim imenima i MB Osoba osobaA = new Osoba("Janko", 1); Osoba osobaB = new Osoba("Darko", 2); Debug.Assert(osobaA.Equals(osobaB) == false); // novi "Janko" s drugim matičnim brojem osobaB = new Osoba("Janko", 2); Debug.Assert(osobaA.Equals(osobaB) == false); // novi "Janko" s istim matičnim brojem osobaB = new Osoba("Janko", 1); Debug.Assert(osobaA.Equals(osobaB) == true); osobaB = osobaA; Debug.Assert(osobaA.Equals(osobaB) == true); Console.ReadLine(); }
public static bool operator==(Osoba a, Osoba b) { return(Osoba.Equals(a, b)); }