static void Main(string[] args) { Console.WriteLine("**** Fun with System.Object ****"); Person p1 = new Person(); Console.WriteLine("ToString: {0}", p1.ToString()); Console.WriteLine("GetHashCode: {0}", p1.GetHashCode()); Console.WriteLine("Type: {0}", p1.GetType()); Person p2 = p1; object o = p2; if (o.Equals(p1) && o.Equals(p2)) { Console.WriteLine("Same instance!"); } Console.WriteLine(); Person p3 = new Person("Homer", "Simpson", 54); Person p4 = new Person("Homer", "Simpson", 54); Console.WriteLine("p3.ToString(): {0}", p3.ToString()); Console.WriteLine("p4.ToString(): {0}", p4.ToString()); Console.WriteLine("p3 = p4: {0}", p3.Equals(p4)); Console.WriteLine("Same hashCodes: {0}", p3.GetHashCode() == p4.GetHashCode()); Console.WriteLine(); p4.Age = 23; Console.WriteLine("p3.ToString(): {0}", p3.ToString()); Console.WriteLine("p4.ToString(): {0}", p4.ToString()); Console.WriteLine("p3 = p4: {0}", p3.Equals(p4)); Console.WriteLine("Same hashCodes: {0}", p3.GetHashCode() == p4.GetHashCode()); Console.WriteLine(); StaticMembersOfObject(); Console.ReadLine(); }
static void Main(string[] args) { Person p1 = new Person("Jimmy"); Console.WriteLine("ToString: {0}", p1.ToString()); Console.WriteLine("Hash Code: {0}", p1.GetHashCode()); Console.WriteLine("Type: {0}", p1.GetType()); Person p2 = p1; object o = p2; if (o.Equals(p1) && p2.Equals(o)) { Console.WriteLine(p2.GetHashCode() + " = " + p1.GetHashCode()); Console.WriteLine("Same instance!\n"); } // Clone() вызывает метод protected MemberwiseClone() // но если Person содержит свойства или поля ссылочного типа, то метод MemberwiseClone() // копировал бы ссылки на эти объекты (т.е. создавал поверхностную копию) Person p3 = p1.Clone() as Person; if (p3 != null) { Console.WriteLine(p1.Name + " = " + p3.Name); } Console.ReadLine(); }
public static void Main(string[] args) { Console.WriteLine("Objrect Over rides!"); Person p1 = new Person("Homer", "Simposon", 50, "129023-80"); Person p2 = new Person("Homer", "Simposon", 50, "129023-80"); // GET Stringified version of objects Console.WriteLine($"ToString : {p1.ToString()}"); Console.WriteLine($"ToString : {p2.ToString()}"); Console.WriteLine($"Hash Code {p1.GetHashCode()}"); Console.WriteLine($"Type: {p1.GetType()}"); // Test overridden Equals Console.WriteLine($"p1= p2? : {p1.Equals(p2)}"); // Test hash codes // still using the hash of ssn Console.WriteLine($"Same hash codes {p1.GetHashCode()==p2.GetHashCode()}"); // change age of p2 and test again p2.Age = 45; Console.WriteLine("ToString {0}:", p1.ToString()); Console.WriteLine($"ToString : {p2.ToString()}"); Console.WriteLine($"p1= p2? : {p1.Equals(p2)}"); Console.WriteLine($"Same hash codes {p1.GetHashCode() == p2.GetHashCode()}"); }
static void Main(string[] args) { Console.WriteLine("***** Fun with System.Object *****\n"); // NOTE: We want these to be identical to test // the Equals() and GetHashCode() methods. Person p1 = new Person("Homer", "Simpson", 50); Person p2 = new Person("Homer", "Simpson", 50); // Get stringified version of objects. Console.WriteLine("p1.ToString() = {0}", p1.ToString()); Console.WriteLine("p2.ToString() = {0}", p2.ToString()); // Test Overridden Equals() Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2)); // Test hash codes. Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode()); Console.WriteLine(); // Change age of p2 and test again. p2.Age = 45; Console.WriteLine("p1.ToString() = {0}", p1.ToString()); Console.WriteLine("p2.ToString() = {0}", p2.ToString()); Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2)); Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode()); Console.WriteLine(); StaticMembersOfObject(); Console.ReadLine(); }
private static void TestModifiedClass() { // NOTE: we want these to be identical to test // the Equals() and GetHashCode() methods. Person p1 = new Person("Homer", "Simpson", 50); Person p2 = new Person("Homer", "Simpson", 50); // Get stringified version of objects. Console.WriteLine("p1.ToString() = {0}", p1.ToString()); Console.WriteLine("p2.ToString() = {0}", p2.ToString()); Console.WriteLine(); // Test overriden Equals(). Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2)); // test hashcodes Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode()); Console.WriteLine(); // Change age of p2 and repeat the tests p2.Age = 45; Console.WriteLine("p1.ToString() = {0}", p1.ToString()); Console.WriteLine("p2.ToString() = {0}", p2.ToString()); Console.WriteLine(); // Test overriden Equals(). Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2)); // test hashcodes Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode()); }
static void Main(string[] args) { Console.WriteLine("*** Fun with System.Object ***"); Person p1 = new Person("Homer", "Simpson", 50); Person p2 = new Person("Homer", "Simpson", 50); Console.WriteLine("p1.ToString: {0}", p1.ToString()); Console.WriteLine("p2.ToString: {0}", p2.ToString()); Console.WriteLine("P1 = P2?: {0}", p1.Equals(p2)); Console.WriteLine("Same Hash Codes ?: {0}", p1.GetHashCode() == p2.GetHashCode()); Console.WriteLine(); p2.Age = 42; Console.WriteLine("p1.ToString: {0}", p1.ToString()); Console.WriteLine("p2.ToString: {0}", p2.ToString()); Console.WriteLine("P1 = P2?: {0}", p1.Equals(p2)); Console.WriteLine("Same Hash Codes ?: {0}", p1.GetHashCode() == p2.GetHashCode()); Console.WriteLine(); MembersOfObjects(); //Console.ReadLine(); }
static void Main(string[] args) { Console.WriteLine("***** Fun with System.Object *****\n"); Person p1 = new Person("Homer", "Simpson", 50); Person p2 = new Person("Homer", "Simpson", 50); Console.WriteLine("p1.ToString() = {0}", p1.ToString()); Console.WriteLine("p2.ToString() = {0}", p2.ToString()); Console.WriteLine("p1 = p2 ?: {0}", p1.Equals(p2)); Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode()); p2.Age = 45; Console.WriteLine("p1.ToString() = {0}", p1.ToString()); Console.WriteLine("p2.ToString() = {0}", p2.ToString()); Console.WriteLine("p1 p2 ?: {0}", p1.Equals(p2)); Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode()); StaticMethodsOfObject(); Console.ReadLine(); }
static void Main(string[] args) { Console.WriteLine("*** Fun With System.Object\n ***"); // NOTE: Those gotta be indentical to test the // Equals() and GetHash() methods Person p1 = new Person("Jason", "Meow", 18); Person p2 = new Person("Jason", "Meow", 18); // Get stringified versions of objects Console.WriteLine("p1.ToString() = {0}", p1.ToString()); Console.WriteLine("p2.ToString() = {0}", p2.ToString()); // Test the overridden Equals() Console.WriteLine("p1 = p2? : {0}", p1.Equals(p2)); // Test hash codes Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode()); // Change the age of p2 and test again p2.Age = 19; Console.WriteLine("p1.ToString() = {0}", p1.ToString()); Console.WriteLine("p2.ToString() = {0}", p2.ToString()); Console.WriteLine("p1 = p2? : {0}", p1.Equals(p2)); Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode()); Console.ReadLine(); }
static void Main(string[] args) { Console.WriteLine("***** Fun with System.Object *****\n"); Person p4 = new Person(); // Use inherited members of System.Object. Console.WriteLine("ToString: {0}", p4.ToString()); Console.WriteLine("Hash Code: {0}", p4.GetHashCode()); Console.WriteLine("type: {0}", p4.GetType()); // Make some other references to p1. Person p3 = p4; object o = p3; // Are the references pointing to the same object in memory? if (o.Equals(p4) && p3.Equals(o)) { Console.WriteLine("Same instance!"); } Console.WriteLine(); // NOTE: We want these to be identical to test // the Equals() and GetHashCode() methods. Person p1 = new Person("Homer", "Simpson", 50); Person p2 = new Person("Homer", "Simpson", 50); // Get stringified version of objects. Console.WriteLine("p1.ToString() = {0}", p1.ToString()); Console.WriteLine("p2.ToString() = {0}", p2.ToString()); // Test overridden Equals(). Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2)); // Test overridden Equals() Console.WriteLine("p1 = p2: {0}", p1.Equals(p2)); // Test hash codes. Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode()); Console.WriteLine(); // Change age of p2 and test again. p2.Age = 45; Console.WriteLine("p1.ToString() = {0}", p1.ToString()); Console.WriteLine("p2.ToString() = {0}", p2.ToString()); Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2)); Console.WriteLine("Same hash codes? {0}", p1.GetHashCode() == p2.GetHashCode()); Console.WriteLine(); StaticMembersOfObject(); Console.ReadKey(); }
static void Main(string[] args) { Console.WriteLine("***** Fun with System.Object *****\n"); //Person p1 = new Person(); ////inherited members of System.Object //Console.WriteLine("ToString: {0}", p1.ToString()); //Console.WriteLine("Hash code: {0}", p1.GetHashCode()); //Console.WriteLine("Type: {0}", p1.GetType()); //// Make some references to p1. //Person p2 = p1; //object o = p2; //// Are the references pointing to the same object in memory? //if (o.Equals(p1) && p2.Equals(o)) //{ // Console.WriteLine("Same instnce!"); //} //Console.ReadLine(); // NOTE: We want these to be identical to test // the Equals() and GetHashCode() methods. Person p1 = new Person("Homer", "Simpson", 50); Person p2 = new Person("Homer", "Simpson", 50); // Get stringified version of objects. Console.WriteLine("p1.ToString() = {0}", p1.ToString()); Console.WriteLine("p2.ToString() = {0}", p2.ToString()); // Test overridden Equals(). Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2)); // Test hash codes. Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode()); Console.WriteLine(); // Change age of p2 and test again. p2.Age = 45; Console.WriteLine("p1.ToString() = {0}", p1.ToString()); Console.WriteLine("p2.ToString() = {0}", p2.ToString()); Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2)); Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode()); Console.ReadLine(); StaticMembersOfObject(); }
public static void Main(string[] args) { var person = new Person(); Console.WriteLine("ToString: {0}", person.ToString()); Console.WriteLine("Hash Code: {0}", person.GetHashCode()); Console.WriteLine("Type: {0}", person.GetType()); Person person2 = person; object obj = person; //Are the references pointing to the same object in memory? if (obj.Equals(person) && person2.Equals(obj)) { Console.WriteLine("Same Instance"); var pers1 = new Person("Homer", "Simpson", 50); var pers2 = new Person("Homer", "Simpson", 50); Console.WriteLine("pers1.ToString() = {0}", pers1.ToString()); Console.WriteLine("pers2.ToString() = {0}", pers2.ToString()); Console.WriteLine("pers1 = pers2: {0}", pers1.Equals(pers2)); Console.WriteLine("Same hash codes? : {0}", pers1.GetHashCode() == pers2.GetHashCode()); Console.ReadLine(); } Console.ReadLine(); }
static void Main(string[] args) { Console.WriteLine("****** Fun with System.Object *****\n"); Person p1 = new Person(); Console.WriteLine("ToString: {0}", p1.ToString()); Console.WriteLine("Hash code: {0}", p1.GetHashCode()); Console.WriteLine("Type: {0}", p1.GetType()); Person p2 = p1; object o = p2; if (o.Equals(p1) && p2.Equals(o)) { Console.WriteLine("Same instance!"); } Person p3 = new Person("Sally", "Jones", 4); Person p4 = new Person("Sally", "Jones", 4); Console.WriteLine("P3 and P4 have same state: {0}", object.Equals(p3, p4)); Console.WriteLine("P3 nad P4 are pointing to same object: {0}", object.ReferenceEquals(p3, p4)); Console.ReadLine(); }
public static void Main (string[] args) { var person = new Person (); Console.WriteLine ("ToString: {0}", person.ToString ()); Console.WriteLine ("Hash Code: {0}", person.GetHashCode ()); Console.WriteLine ("Type: {0}", person.GetType ()); Person person2 = person; object obj = person; //Are the references pointing to the same object in memory? if (obj.Equals (person) && person2.Equals (obj)) { Console.WriteLine("Same Instance"); var pers1 = new Person("Homer", "Simpson", 50); var pers2 = new Person("Homer", "Simpson", 50); Console.WriteLine("pers1.ToString() = {0}",pers1.ToString()); Console.WriteLine("pers2.ToString() = {0}",pers2.ToString()); Console.WriteLine("pers1 = pers2: {0}", pers1.Equals(pers2)); Console.WriteLine("Same hash codes? : {0}", pers1.GetHashCode() == pers2.GetHashCode()); Console.ReadLine(); } Console.ReadLine(); }
static void Main(string[] args) { Console.WriteLine("****** Fun with System.Object ******\n"); Person p1 = new Person(); Console.WriteLine("ToString: {0}", p1.ToString()); Console.WriteLine("Hash code: {0}", p1.GetHashCode()); Console.WriteLine("Type: {0}", p1.GetType()); // Make some other references to p1. Person p2 = p1; object o = p2; // Are the references poiting to the same object in memory? if (o.Equals(p1) && p2.Equals(o)) { Console.WriteLine("Same instance!"); } Console.WriteLine(); TestModifiedClass(); // Static members of system.object Person p3 = new Person("Sally", "Jones", 4); Person p4 = new Person("Sally", "Jones", 4); Console.WriteLine("\np3 and p4 have the same state: {0}", p3.Equals(p4)); Console.WriteLine("p3 and p4 are pointing to the same object: {0}", object.ReferenceEquals(p3, p4)); Console.ReadLine(); }
static void Main(string[] args) { Console.WriteLine("***** Fun with System.Object *****\n"); ////use inherited members of System.Object... //Console.WriteLine("ToString: {0}", p1.ToString()); //Console.WriteLine("Hash Code: {0}", p1.GetHashCode()); //Console.WriteLine("Type: {0}", p1.GetType()); ////make some other refs to p1 //Person p2 = p1; //object o = p2; ////are these refs pointing to the same obj in memory? //if (o.Equals(p1) && p2.Equals(o)) //{ // Console.WriteLine("Same instance!"); //} //make 2 identical Persons to test Equals() and GetHashCode() Person p1 = new Person("Homer", "Simpson", 50); Person p2 = new Person("Homer", "Simpson", 50); //get stringified versions of those objs Console.WriteLine("p1.ToString() = {0}", p1.ToString()); Console.WriteLine("p2.ToString() = {0}", p2.ToString()); //test overriden Equals() Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2)); //test hash codes Console.WriteLine("same hash codes?: {0}", p1.GetHashCode()== p2.GetHashCode()); Console.WriteLine(); //change age of p2 and retest p2.Age = 45; Console.WriteLine("p1.ToString() = {0}", p1.ToString()); Console.WriteLine("p2.ToString() = {0}", p2.ToString()); Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2)); Console.WriteLine("same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode()); Console.WriteLine(); StaticMembersOfObject(); Console.ReadLine(); }
static void Main(string[] args) { Person p1 = new Person(); Console.WriteLine("ToString: {0}", p1.ToString()); Console.WriteLine("Hash Code: {0}", p1.GetHashCode()); Console.WriteLine("Type: {0}", p1.GetType()); Person p2 = p1; object o = p2; if (o.Equals(p1) && p2.Equals(o)) { Console.WriteLine("Same instance"); } Person pNull = null; Console.WriteLine(); Console.WriteLine("is pNull a person {0}", pNull is Person); Console.WriteLine("is p1 equal to null {0}", p1.Equals(null)); Console.WriteLine("is empty string equal to null {0}", "" == null); Console.WriteLine(); Person p11 = new Person("Homer", "Simpson", 50); Person p12 = new Person("Homer", "Simpson", 50); Console.WriteLine("ToString: {0}", p11.ToString()); Console.WriteLine("p11.Hash Code: {0}", p11.GetHashCode()); Console.WriteLine("p12.Hash Code: {0}", p12.GetHashCode()); Console.WriteLine("is p11 equal to p12 {0}", p11.Equals(p12)); p12.Age = 45; Console.WriteLine("is p11 equal to p12 {0}", p11.Equals(p12)); Console.WriteLine("p11.Hash Code: {0}", p11.GetHashCode()); Console.WriteLine("p12.Hash Code: {0}", p12.GetHashCode()); Console.WriteLine(); Console.WriteLine("=> static object methods"); Person p3 = new Person("Sally", "Jones", 4); Person p4 = new Person("Sally", "Jones", 4); Console.WriteLine("object.Equals {0}", object.Equals(p3, p4)); Console.WriteLine("object.ReferenceEquals {0}", object.ReferenceEquals(p3, p4)); Console.ReadLine(); }
static void Main(string[] args) { Console.WriteLine("***** Fun with System.Object *****\n"); // 说明:我们希望这些都一致,以便测试Equals()和GetHashCode()方法 Person p1 = new Person("Homer", "Simpson", 50); Person p2 = new Person("Homer", "Simpson", 50); // 获取对象的字符串化版本 Console.WriteLine("p1.ToString()={0}", p1.ToString()); Console.WriteLine("p2.ToString()={0}", p2.ToString()); // 测试重写的Equals() Console.WriteLine("p1=p2?:{0}", p1.Equals(p2)); // 测试散列码 Console.WriteLine("Same hash codes?:{0}", p1.GetHashCode() == p2.GetHashCode()); Console.WriteLine(); // 修改p2的年龄并再次测试 p2.Age = 45; Console.WriteLine("p1.ToString()={0}", p1.ToString()); Console.WriteLine("p2.ToString()={0}", p2.ToString()); Console.WriteLine("p1=p2?:{0}", p1.Equals(p2)); Console.WriteLine("Same hash codes?:{0}", p1.GetHashCode() == p2.GetHashCode()); Console.WriteLine(); StaticMembersOfObject(); Console.ReadLine(); //Person p1 = new Person("Homer", "Simpson", 50); //// 使用System.Object的继承成员 //Console.WriteLine("ToString:{0}", p1.ToString()); //Console.WriteLine("Hash code:{0}", p1.GetHashCode()); //Console.WriteLine("Type:{0}", p1.GetType()); //// 让其他引用指向p1 //Person p2 = p1; //object o = p2; //if (o.Equals(p1) && p2.Equals(o)) //{ // Console.WriteLine("Same instance!"); //} //Console.ReadLine(); }
static void Main(string[] args) { Console.WriteLine("***** Fun eith System.Object *****/n"); // Person p1 = new Person(); // // Console.WriteLine("ToString: {0}",p1.ToString()); // Console.WriteLine("Hash code: {0}",p1.GetHashCode()); // Console.WriteLine("Type: {0}", p1.GetType()); // // Person p2 = p1; // object o = p2; // // if (o.Equals(p1) && p2.Equals(o)) // { // Console.WriteLine("Same instance1"); // } Person p1 = new Person("Homer", "Simpson", 50, "111-11-1111"); Person p2 = new Person("Homer", "Simpson", 50, "111-11-1111"); Console.WriteLine("p1.ToString() = {0}", p1.ToString()); Console.WriteLine("p2.ToString() = {0}", p2.ToString()); Console.WriteLine("p1 == p2 ?: {0}", p1.Equals(p2)); Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode()); Console.WriteLine(); p2.Age = 45; Console.WriteLine("p1.ToString() = {0}", p1.ToString()); Console.WriteLine("p2.ToString() = {0}", p2.ToString()); Console.WriteLine("p1 == p2 ? : {0}", p1.Equals(p2)); Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode()); Console.WriteLine("Static methods from System.Object()"); Person p3 = new Person("Sally", "Jones", 4); Person p4 = new Person("Sally", "Jones", 4); Console.WriteLine("P3 and P4 have the same state: {0}", object.Equals(p3, p4)); Console.WriteLine("P3 and P4 are pointing to the same object: {0}", object.ReferenceEquals(p3, p4)); Console.ReadLine(); }
static void Main(string[] args) { Console.WriteLine("**** Fun with System.Object ****\n"); Person a1 = new Person("Piter", "Byork", 32); //Использовать наследованные члены System.Object Console.WriteLine("To String: {0}", a1.ToString()); Console.WriteLine("Hash code: {0}", a1.GetHashCode()); Console.WriteLine("Type: {0}", a1.GetType()); //Создать другую ссылку на р1 Person a2 = a1; object o = a2; //Указывают ли ссылки на один и тот же объект в памати? if (o.Equals(a1) && o.Equals(a2)) { Console.WriteLine("Same instance!"); } Console.WriteLine("----------TESTS---------\n;"); //p1 и р2 идентичны! Для проверки методо Equals() и GetHashCode() Person p1 = new Person("Homer", "Simpson", 50); Person p2 = new Person("Homer", "Simpson", 50); //Получить строковые версии объектов Console.WriteLine("p1.ToString() = {0}", p1.ToString()); Console.WriteLine("p2.ToString() = {0}", p2.ToString()); //Проверить переопределённый метод Equals(); Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2)); //Проверить хеш-коды Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode()); Console.WriteLine(); //Изменить возраст р2 и проверить снова p2.personAge = 45; Console.WriteLine("p1.ToString() = {0}", p1.ToString()); Console.WriteLine("p2.ToString() = {0}", p2.ToString()); Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2)); Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode()); Console.WriteLine(); SharedMembersOfObject(); Console.ReadLine(); }
static void ModifiedClass() { Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine("=> Testing Modified Person Class"); Person p1 = new Person("Homer", "Simpson", 50); Person p2 = new Person("Homer", "Simpson", 50); Console.WriteLine($"ToString: {p1.ToString()} / {p2.ToString()}"); Console.WriteLine($"Equality: {p1.Equals(p2)}"); Console.WriteLine($"HashCode: {p1.GetHashCode()} / {p2.GetHashCode()}"); Console.WriteLine($"Same HashCode: {p1.GetHashCode() == p2.GetHashCode()}"); p2.Age = 45; Console.WriteLine($"ToString: {p1.ToString()} / {p2.ToString()}"); Console.WriteLine($"Equality: {p1.Equals(p2)}"); Console.WriteLine($"HashCode: {p1.GetHashCode()} / {p2.GetHashCode()}"); Console.WriteLine($"Same HashCode: {p1.GetHashCode() == p2.GetHashCode()}"); }
static void Main(string[] args) { Console.WriteLine("***** Fun with System.Object *****\n"); //Person p1 = new Person(); //Console.WriteLine("ToString: {0}", p1.ToString()); //Console.WriteLine("Hash code: {0}", p1.GetHashCode()); //Console.WriteLine("Type: {0}", p1.GetType()); //Person p2 = p1; //object o = p2; //if(o.Equals(p1) && p2.Equals(o)) //{ // Console.WriteLine("Same instance!"); //} Person p1 = new Person("Homer", "Simpson", 50, "12345"); Person p2 = new Person("Homer", "Simpson", 50, "12345"); Console.WriteLine($"p1.ToString() = {p1.ToString()}"); Console.WriteLine($"p2.ToString() = {p2.ToString()}"); Console.WriteLine($"p1 = p2?: {p1.Equals(p2)}"); Console.WriteLine($"Same hash codes?: {p1.GetHashCode() == p2.GetHashCode()}"); Console.WriteLine(); p2.Age = 45; Console.WriteLine($"p1.ToString() = {p1.ToString()}"); Console.WriteLine($"p2.ToString() = {p2.ToString()}"); Console.WriteLine($"p1 = p2?: {p1.Equals(p2)}"); Console.WriteLine($"Same hash codes?: {p1.GetHashCode() == p2.GetHashCode()}"); Person p3 = new Person("Sally", "Jones", 4, "43562"); Person p4 = new Person("Sally", "Jones", 4, "43562"); Console.WriteLine($"P3 and P4 have same state: {object.Equals(p3, p4)}"); Console.WriteLine($"P3 and P4 are pointing to the same object: {object.ReferenceEquals(p3, p4)}"); Console.ReadLine(); }
static void Main(string[] args) { Console.WriteLine("***** Fun with System.Object *****\n"); //Person p1 = new Person(); //// Use inherited members of System.Object //Console.WriteLine("ToString: {0}", p1.ToString()); //Console.WriteLine("Hash code {0}", p1.GetHashCode()); //Console.WriteLine("Type {0}:", p1.GetType()); //// Make some other references to p1. //Person p2 = p1; //object o = p2; //// Are the references pointing to the same object in memory? //if (o.Equals(p1) && p2.Equals(o)) // Console.WriteLine("Same instance!"); Console.WriteLine("Testing modified Person class\n"); Person p1 = new Person("Homer", "Simpson", 50); Person p2 = new Person("Homer", "Simpson", 50); // Get stringified version of objects. Console.WriteLine("p1.ToString() = {0}", p1.ToString()); Console.WriteLine("p2.ToString() = {0}", p2.ToString()); // Test overriden Equals(). Console.WriteLine($"p1 = p2?: {p1.Equals(p2)}"); // Test hash codes. Console.WriteLine($"Same hash codes?: {p1.GetHashCode() == p2.GetHashCode()}"); // Change age of p2 and test again: p2.Age = 45; Console.WriteLine("p1.ToString() = {0}", p1.ToString()); Console.WriteLine("p2.ToString() = {0}", p2.ToString()); Console.WriteLine($"p1 = p2?: {p1.Equals(p2)}"); Console.WriteLine($"Same hash codes?: {p1.GetHashCode() == p2.GetHashCode()}"); Console.ReadLine(); }
static void Main(string[] args) { Console.WriteLine("fun with system.object"); Person p1 = new Person(); Console.WriteLine(p1.ToString()); Console.WriteLine(p1.GetHashCode()); Console.WriteLine(p1.GetType()); Console.ReadLine(); }
static void Main(string[] args) { try { Person p1 = new Person("Suri", "Thor", 50); Person p2 = new Person("Steve", "Rogers", 55); // Get stringified version of objects. Console.WriteLine("p1.ToString() = {0}", p1.ToString()); Console.WriteLine("p2.ToString() = {0}", p2.ToString()); // Test overridden Equals(). Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2)); // Test hash codes. Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode()); Console.WriteLine(); // Change age of p2 and test again. p2.Age = 45; Console.WriteLine("p1.ToString() = {0}", p1.ToString()); Console.WriteLine("p2.ToString() = {0}", p2.ToString()); Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2)); Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode()); Console.ReadLine(); // Static members of System.Object. Person p3 = new Person("Sally", "Jones", 4); Person p4 = new Person("Sally", "Jones", 4); Console.WriteLine("P3 and P4 have same state: {0}", Equals(p3, p4)); Console.WriteLine("P3 and P4 are pointing to same object: {0}", ReferenceEquals(p3, p3)); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
static void Main(string[] args) { Console.WriteLine("***** Fun with System.Object *****\n"); Person p1 = new Person("Tushar", "Mohite", 23); Person p2 = new Person("Tushar", "Mohite", 23); // Get StringField version of objects. Console.WriteLine("p1.ToString() : {0}", p1.ToString()); Console.WriteLine("p2.ToString() : {0}", p2.ToString()); // Test overriden Equals(). Console.WriteLine("p1 = p2 ? : {0}", p1.Equals(p2)); // Test Hash Codes Console.WriteLine("Same hash codes : {0}", p1.GetHashCode() == p2.GetHashCode()); Console.WriteLine(); // Change age of p2 and test again p2.Age = 46; Console.WriteLine("p1.ToString() : {0}", p1.ToString()); Console.WriteLine("p2.ToString() : {0}", p2.ToString()); Console.WriteLine("p1 = p2 ? : {0}", p1.Equals(p2)); Console.WriteLine("Same hash codes : {0}", p1.GetHashCode() == p2.GetHashCode()); // Static members of System.Object. Console.WriteLine(); Person p3 = new Person("Sally", "Jones", 4); Person p4 = new Person("Sally", "Jones", 4); Console.WriteLine("P3 and P4 have same state: {0}", object.Equals(p3, p4)); Console.WriteLine("P3 and P4 are pointing to same object: {0}", object.ReferenceEquals(p3, p4)); Console.ReadLine(); }
static void Main(string[] args) { Console.WriteLine("***** Fun with System.Object *****\n"); // ПРИМЕЧАНИЕ: эти объекты идентичны для проверки // методов Equals() и GetHashCode(). Person pl = new Person("Homer", "Simpson", 50); Person p2 = new Person("Homer", "Simpson", 50); // Получить строковые версии объектов. Console.WriteLine("pl.ToString() = {0}", pl.ToString()); Console.WriteLine("p2.ToString() = {0}", p2.ToString()); // Проверить переопределенный метод Equals(). Console.WriteLine("pl =p2?: {0}", pl.Equals(p2)); // Проверить хеш-коды. Console.WriteLine("Samehashcodes?: {0}", pl.GetHashCode() == p2.GetHashCode()); Console.WriteLine(); // Изменить возраст p2 и проверить снова. p2.Age = 45; Console.WriteLine("pl.ToString() = {0}", pl.ToString()); Console.WriteLine("p2.ToString() = {0}", p2.ToString()); Console.WriteLine("pl =p2?: {0}", pl.Equals(p2)); Console.WriteLine("Samehashcodes?: {0}", pl.GetHashCode() == p2.GetHashCode()); Console.ReadLine(); }
static void Main(string[] args) { Console.WriteLine("***** Fun with System.Object *****\n"); Person p1 = new Person("Homer", "Simpson", 50); Person p2 = new Person("Homer", "Simpson", 50); Console.WriteLine($"p1.ToString() = {p1.ToString()}"); Console.WriteLine($"p2.ToString() = {p2.ToString()}"); //Test overriding Equals() Console.WriteLine($"p1 = p2?: {p1.Equals(p2)}"); //Test hash codes Console.WriteLine($"Same hash codes?: {p1.GetHashCode() == p2.GetHashCode()}"); Console.WriteLine(); //Change age of p2 and test again p2.Age = 45; Console.WriteLine($"p1.ToString() = {p1.ToString()}"); Console.WriteLine($"p2.ToString() = {p2.ToString()}"); Console.WriteLine($"p1 = p2?: {p1.Equals(p2)}"); Console.WriteLine($"Same hash codes?: {p1.GetHashCode() == p2.GetHashCode()}"); }
static void Main(string[] args) { Person p1 = new Person("Homer", "Simpson", 50); Person p2 = new Person("Homer", "Simpson", 50); Console.WriteLine("p1.ToString() = {0}", p1.ToString()); Console.WriteLine("p2.ToString() = {0}", p2.ToString()); Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2)); Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode()); Console.WriteLine(); StaticMembersOfObject(); Console.Read(); }
static void Main(string[] args) { Person p1 = new Person(); Console.WriteLine("ToString: {0}", p1.ToString()); Console.WriteLine("Hash code: {0}", p1.GetHashCode()); Console.WriteLine("Type: {0}", p1.GetType()); Person p2 = p1; object o = p2; if (o.Equals(p1) && p2.Equals(o)) { Console.WriteLine("Same instance!"); } Console.ReadLine(); }
public static void Main (string[] args) { var person = new Person (); Console.WriteLine ("ToString: {0}", person.ToString ()); Console.WriteLine ("Hash Code: {0}", person.GetHashCode ()); Console.WriteLine ("Type: {0}", person.GetType ()); Person person2 = person; object obj = person; //Are the references pointing to the same object in memory? if (obj.Equals (person) && person2.Equals (obj)) { Console.WriteLine("Same Instance"); } Console.ReadLine(); }
public static void Main(string[] args) { Console.WriteLine("Fun with System.Object"); Person p1 = new Person(); Console.WriteLine("ToString: {0}", p1.ToString()); Console.WriteLine("Hash Code: {0}", p1.GetHashCode()); Console.WriteLine("Type: {0}", p1.GetType()); Person p2 = p1; object o1 = p2; if (o1.Equals(p1) && p2.Equals(o1)) { Console.WriteLine("Same Instance"); } }
public static void Main(string[] args) { var person = new Person(); Console.WriteLine("ToString: {0}", person.ToString()); Console.WriteLine("Hash Code: {0}", person.GetHashCode()); Console.WriteLine("Type: {0}", person.GetType()); Person person2 = person; object obj = person; //Are the references pointing to the same object in memory? if (obj.Equals(person) && person2.Equals(obj)) { Console.WriteLine("Same Instance"); } Console.ReadLine(); }
private static void Main(string[] args) { Console.WriteLine("***** Fun With System.Object *****"); var person = new Person("Sergeo", "Next", 45); var person1 = new Person("Sergeo", "Next", 45); // person1.Age = 40; Console.WriteLine("person.ToString(): {0}", person); Console.WriteLine("person1.ToString(): {0}", person1); //Тестируем Equals Console.WriteLine("person = person1 ? :{0}", person.Equals(person1)); //Проверяем хэш коды Console.WriteLine("Same hash codes ? :{0}", person.GetHashCode() == person1.GetHashCode()); //Эквивалентность Console.WriteLine("Poiting to same object ? :{0}", ReferenceEquals(person, person1)); Console.ReadLine(); }
static void Main(string[] args) { Console.WriteLine("Fun with System.Object"); Person p1 = new Person(); Person p2 = p1; object o = p2; if (o.Equals(p1) && p2.Equals(o)) { Console.WriteLine("Same Instance"); } Console.WriteLine("ToString: {0}", p1.ToString()); Console.WriteLine("GetHashCode: {0}", p1.GetHashCode()); Console.WriteLine("GetType: {0}", p1.GetType()); Console.ReadLine(); }
static void OrigMethods() { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("=> Original Methods"); Person p1 = new Person("David", "Audru", 35); Console.WriteLine($"ToString: {p1.ToString()}"); Console.WriteLine($"ToString: {p1}"); Console.WriteLine($"Hash Code: {p1.GetHashCode()}"); Console.WriteLine($"Type: {p1.GetType()}"); Person p2 = p1; object o = p2; if (o.Equals(p1) && p2.Equals(o)) { Console.WriteLine("Same instance!"); } }
static void Main(string[] args) { Console.WriteLine("Fun with System.Object"); Person p1 = new Person("Homer", "Simpson", 50); Person p4 = new Person("Homer", "Simpson", 50); Console.WriteLine("ToString: {0}", p1.ToString()); Console.WriteLine("GetHash: {0}", p1.GetHashCode()); Console.WriteLine("GetType: {0}", p1.GetType()); Person p2 = p1; object o = p2; if (o.Equals(p1) && p2.Equals(o)) { Console.WriteLine("Same reference"); } Console.WriteLine(object.Equals(p1, p4)); Console.WriteLine(object.ReferenceEquals(p1, p4)); Console.ReadKey(); }
static void Main(string[] args) { Console.WriteLine("***** Fun with System.Object *****\n"); Person p1 = new Person(); // Использовать унаследованне члены System.Object. Console.WriteLine("ToString: {0}", p1.ToString()); Console.WriteLine("Hash code: {0}", p1.GetHashCode()); Console.WriteLine("Type: {0}", p1.GetType()); // Создать другую ссылку на p1. Person p2 = p1; object o = p2; // Указывают ли ссылки на один и то же объект в памяти? if (o.Equals(p1) && p2.Equals(o)) { Console.WriteLine("Same instance!"); // Один и тот же экземпляр. } Console.ReadLine(); }
static void Main( string[] args ) { Console.WriteLine("***** Fun with System.Object *****\n"); // NOTE: We want these to be identical to test // the Equals() and GetHashCode() methods. Person p1 = new Person("Homer", "Simpson", 50); Person p2 = new Person("Homer", "Simpson", 50); // Get stringified version of objects. Console.WriteLine("p1.ToString() = {0}", p1.ToString()); Console.WriteLine("p2.ToString() = {0}", p2.ToString()); // Test Overridden Equals() Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2)); // Test hash codes. Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode()); Console.WriteLine(); // Change age of p2 and test again. p2.Age = 45; Console.WriteLine("p1.ToString() = {0}", p1.ToString()); Console.WriteLine("p2.ToString() = {0}", p2.ToString()); Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2)); Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode()); Console.WriteLine(); StaticMembersOfObject(); Console.ReadLine(); }